Автозагрузка Прайс-листов

From Zapscript
Jump to: navigation, search
This page contains changes which are not marked for translation.

Other languages:
English • ‎русский

Samgruzprice.png

Функция позволяет автоматически загружать прайс-листы с серверов поставщиков.
Принцип работы: Создаётся правило, в котором указывается источник с которого стоит загружать прайс-лист.
Время- периодичность выгрузки прайс-листа,место загрузки прайс-листа и т.д.

Создание правила загрузки

C сервера поставщика по FTP

Нажмите кнопку - "добавить правило"
Введите имя FTP сервера, с которого нужно загружать прайс-лист.
Пример ftp.zapscript.net
Логин и пароль от FTP сервера
Папка на сервере - место хранения файла прайс-листа на сервере.
Внимание, название паки, стоит писать без "/" , т.е. "nalichie CS" ,
В случаи если файл находиться в корне сервера то пишите с "/"

Из почтового Ящика

Зайдите в раздел - почтовые ящики ( в разделе прайс или в плане загрузки).
Нажмите "Создать"
Задайте настройка подключения к почтовому ящику:
Email - имя почтового адреса или имя авторизации на сервере поставщика. пример: info@zapscript.ru
Пароль - пароль от почтового ящика.
POP Адрес - адрес POP сервера. Пример: mail.zapscript.ru
POP Порт - номер порта, чаще всего 110 , но может отличаться.
Далее - "Сохранить"
После этого в Автозагрузчике Прайс-Листов выбираем метод загрузки с E-mail
Выберите адрес почты.
В:
в поле тема письма содержит,в тексте письма есть, пришло с какого адреса
Укажите примечания, метки, по которым сайт распознает что это письмо содержит прайс лист и должен обработаться этим правилом.
Пример: в поле тема письма содержит,в тексте письма есть: Прайс
Тогда если придёт письмо на эту почту и в нём, в теле письма будет слово "Прайс", оно будет обработано этим правилом.
Не стоит делать много условий. Делайте точные условия, которые инфицируют именно прайс для этого правила.
Выберите частоту обработки. Не рекомендуем делать слишком частую обработку, дабы сэкономить ресурсы сервера.
После обработки письма, оно может повторно не обработаться, другим правилом, будьте внимательны. Часто бывает что 1 условие подходит для 2 и более правил, правила обрабатываются по своему времени, если оно обработало письмо, то другое правило может не обработать это письмо.
Так же есть возможность проблемы с сервером провайдера, который запрещает проверку по протоколу POP - перед пользованием почтой в таком режиме, уточните у поставщика - возможность работы.
При совместном использовании почтовым клиентом и программой - возможны конфликты, так как почтовые клиенты могут не оставлять письма или ставить пометки.
Далее введите Шаблон - правила обработки.
Сохраните.

С локального сервера

Если вы хотите загружать файлы с вашего же сервера, тогда проигнорируйте поля: Адрес сервера и Логин, Пароль - оставьте пустыми.
Укажите лиш место хранения файла на сервере.
Пункт "Адрес сервера"

Критерий для фильтра файлов

В данном пункте нужно указать критерия для файлов. Это может быть имя файла с расширением ( пример: price.xls ) или только одно расширение ( .xls )
Данные критерия помогают программе понять - какой файл стоит грузить.
К примеру: Вы не знаете точное название файла, оно может меняться, но знаете что на конце всегда стоит расширение .xls.
Логика действия программы: найдёт первый файл с данным параметром - загрузит его.
Можете оставить поле пустым, при условии что в директории (папки) будет находится 1 файл с прайс-листом.
Рекомендуем использовать имена файлов: без пробелов и написанных в английском алфавите.

Кодировка

Данная функция позволяет устанавливать кодировку загружаеммого файла.
Если после загрузки файла, вы видите то что в надписях наименований или брендов вместо читаемого текста появились символы или непонятные буквы, поменяйте кодировку.

Склад

Выберите название склада, в который будет загружаться прайс-лист.
Рекомендуем: использовать 1 склад для 1 го прайса, автозагрузки. Так как при двойном использовании - могут затираться данные.

Время загрузки

!!Внимание: cron должен корректно быть настроен на сервере, где размещаеться сайт. Так как обработки работают по его заданию.
Время загрузки - выберите частоту загрузки и обработки файла.
Рекомендуется значение - 1-2 дня. Не стоит часто грузить прайс, во избежании неоправданной нагрузки на сайт.
Часто прайс-лист меняется раз в день.

Настройка параметров прайс-листа

Exel, CSV..

Поддерживаются форматы:
csv, txt, xls, xlsx, xml, zip c файлами данных типов.
Сейчас мы рассмотрим настройки прайс-листа. Для его настройки - рекомендуем открыть прайс-лист поставщика и рассмотреть содержания данных.
К примеру: Zagr6.png
Видим что данные идут:
Начальная строка - 2 ( так как 1 - описание, шапка)
Последняя строка - пусто ( так как не знаем - когда закончиться)
Артикул (столбец) - 2 ( так как находиться во втором столбце)
Производитель (столбец) - 1
Наименование (столбец) - 3
Цена (столбец) - 4
Количество (столбец) - 5

Замена полей

Бывают случаи, когда поставщик прайс-листов не передаёт важное поле.
Пример, поставщик не считает нужным писать свой бренд в прайс-листе, так как весь прайс посвящен его бренду.
Но на сайте необходимо его отразить.
Для этого в настройках можно поставить галочку "автозаполнение" и вписать текст подменяемого поля.
Az zamena poley.png

XML формат

Согласно xml тегам заполняется название блоков.
Пример, у нас есть XML, который описываем:
Начальная строка - пусто
Последняя строка - пусто ( так как не знаем - когда закончиться)
Артикул (столбец) - artikl ( там где находиться артикл, т.е. <artikl>1234</artikl>, где 123 - номер артикла- детали )
Производитель (столбец) - proiz ( аналогично артиклу)
Наименование (столбец) - naimen ( аналогично артиклу)
Цена (столбец) - price ( аналогично артиклу)
Количество (столбец) - kolichestvo ( аналогично артиклу)

Включен и Автоудаление

Данные флажки позволяют включить правило.
Автоудаление - удаляет старые прайсы, которые были загружены ранее - рекомендуем ставить!

Xml тег элемента

Заполняется если загружается XML формат, в остальных случаях пустой.
Необходимо ввести значения позиции, т.е. с какого тега начинается позиция, деталь.
Пример:
<item><name>Двигатель</name><brand>BMW</brand>....</item>
Значит пишем: item


После заполнения полей, нажмите кнопку "Сохранить"

Проверка плана загрузки

Не дожидаясь очередной очереди загрузки вы можете выполнить загрузку, обработку прямо сейчас. Для этого нажмите кнопку, в списке планов загрузки, на против плана - "Запустить правило"

Проблемы и их решения

Кодировка ( в место наименования - непонятные символы)

Если при выгрузки очередного прайс-листа появились не понятные символы в нем, пример:
Err codirovka.png
Смените в настройках этого правила - кодировку:
Codirovka.png

Данные из файла "перемешались"

Если вы видите то что в одних полях данные из прайс-листа.
Autozag smeh dan.png
Проверьте корректность загружаемого файла, встречались случаи что поставщик прайс-листа пишет "через enter" , примеру номера:
Trubl autozag.png
При обработки данных - программа понимает это как новая строчка - новая позиция:
Со стороны программы виден прайс вот так:
Autozag prog err.png
Правильные данные:
Autozag prav zagr.png

Не обрабатываются задания, CRON

Если ваш хостинг не поддерживает автоматическую передачу заданий в CRON.
Их можно прописать в ручную.
Для этого добавьте задание со следующими параметрами:
php /var/www/mysite.ru/protected/yiic.php PriceExport 26
где:
/var/www/mysite.ru/protected/yiic.php - фактический путь к файлу на сервере.
26 - номер правила в автозагрузчике его ID

Далее выбрать переодичность, рекомендуем - раз в сутки.

Так же рекомендуем добавить правило автоочистки:

php /var/www/mysite.ru/protected/yiic.php ClearFiles

Время запуска, каждые 4 часа.



Так же задания можете посмотреть тут: protected/runtime/my_crontab

Одной из причин не работы отправления заданий CRON, может быть отключение функции PHP:
disable_functions = exec

Зависла загрузка из Почты

Причина: не верный формат прайс-листа, плохой прайс-лист
Рекомендуем: Зайти в PhpMyadmin ( Базу), очистить таблицу: prices_autoload_queue *

  • Внимание! Все задачи будут удалены, т.е. удалятся задачи, но не правила.