Автор Тема: Синхронизация с прайсом  (Прочитано 147 раз)

10 Августа 2015, 14:24:09
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Имею большой прайс со многими характеристиками товара в формате XLS. Превращаю его в CSV и загружаю товары на сайт. Со временем цены, характеристики товара и их наличие в новом прайсе будут изменены. Как изменить характеристики на сайте автоматически. По каким правилам синхронизировать прайс и сайт?
10 Августа 2015, 14:37:44
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 2517
  • Репутация: +58/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Через крон. Создай задание загружать файл импорта по времени.
10 Августа 2015, 14:40:32
Ответ #2
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Через крон. Создай задание загружать файл импорта по времени.
Можно подробнее как это делается
10 Августа 2015, 14:48:42
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 2517
  • Репутация: +58/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Скрипт создаешь и запускаешь по времени. Вот такой для shell
#!/bin/sh
email=mail@mysite.ru
passwd=motdepass
tab=Import
admintab='Admin'$tab
urladminsite=http://mysite.ru/adminxxx/
csvfile='myfile.csv'
typevalue='&type_value[0]=id&type_value[1]=name&type_value[2]=no&type_value[3]=quantity'
wget --save-cookies=cookie.txt --post-data='email='$email'&passwd='$passwd'&Submit=submit' --keep-session-cookies -q -O login.php $urladminsite'login.php'
if [ -n "$(grep 'error' login.php)" ]
then
  error=$(grep '<li>.*</li>' login.php | sed 's/.*<li>\(.*\)<\/li>/\1/g')
  echo 'ERREUR : '$error
else
  wget --load-cookies=cookie.txt --keep-session-cookies -q -O index.php $urladminsite'index.php'
  token=$(grep 'index.php?tab='$admintab'\&token=' index.php | sed 's/.*token=\(.*\)\">'$tab'.*/\1/g')
fi

if [ -n "$(echo $token | grep ^[a-z0-9]*)" ]
then
  echo 'TOKEN : '$token
  wget --load-cookies=cookie.txt --keep-session-cookies --post-data='tab='$admintab'&token='$token'&skip=0&csv='$csvfile'&entity=1&iso_lang=fr&separator=;&multiple_value_separator=,'$typevalue'&import=Import CSV data' -q -O maj.php $urladminsite'index.php'
else
  echo 'ERREUR : Pas de token'
fi
10 Августа 2015, 15:03:57
Ответ #4
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я не умею программировать, и не знаю что с этим делать. Может есть еще другие, более простые варианты
10 Августа 2015, 15:09:24
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 2517
  • Репутация: +58/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Простых нет. Только store manager.
10 Августа 2015, 15:24:24
Ответ #6
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Скрипт создаешь и запускаешь по времени. Вот такой для shell
Можно подробнее как это сделать?
10 Августа 2015, 15:30:48
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 2517
  • Репутация: +58/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Скрипт написал. Крон создать в кабинете хостинга можно. Сохранить скрипт на хостинге, если хостинг разрешает, и в кроне уазать к нему путь.
10 Августа 2015, 15:55:11
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 763
  • Репутация: +6/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Крон задание можно создать в prestashop в админке в настройках модуля "Менеджер заданий cron" (cronjobs).