moyskad-catalog
Генератор ICML для каталога из МойСклад
Использование
-
Выполните include файла
MoySkladICMLParser.php
-
Сконфигурируйте парсер
$parser = new MoySkladICMLParser(
'login@moysklad',
'password',
'shopname',
$options
);
- Вызовите метод
generateICML
$parser->generateICML();
Смотрите файл example.php
в качестве простого примера использования парсера.
Подробная пошаговая инструкция
Для автоматической генерации каталога товаров на основе продукции из МС Вам понадобится разместить на Вашем сервере небольшой скрипт, который будет заниматься созданием необходимого ICML-файла для retailCRM. Также, после настройки скрипта, необходимо будет добавить задачу в cron.
Как всё настроить:
-
Разместите у себя на сервере в какой-нибудь директории два файла
MoySkladICMLParser.php
иexample.php
. -
Файл
MoySkladICMLParser.php
ни в коем случае не изменять и не переименовывать! -
Далее требуется внести необходимые настройки в файл
example.php
(файл можно переименовать, расширение.php
оставить):
a) вместо login@moysklad
ввести логин для входа в систему МойСклад (логин сотрудника, для входа в систему управления складом);
b) вместо password
ввести пароль;
c) shopname
заменить на название Вашего магазина (или любое другое название);
d) в строке 'file' => 'test.xml'
, заменить test.xml
на любое другое название (например, catalog.xml
, расширение файла оставить то же), либо оставить без изменения.
e) При необходимости включения в генерацию архивных товаров и модификаций в строке 'archivedGoods' => false
необходимо заменить значение false
на true
.
-
После настройки добавить задачу в cron:
* */4 * * * php /путь_к_файлу_скрипта/example.php
(данная запись подразумевает автоматический запуск генерации файла каталога каждый день раз в 4 часа). -
Запустить генерацию вручную (командой
php /путь_к_файлу_скрипта/example.php
), чтобы в папке со скриптом появился файл каталога в формате xml. -
Добавить ссылку на файл в настройках магазина в retailCRM.
Дополнительные опции
Параметр $options - массив со следующими ключами:
file
- Имя файла с итоговым icml без пути (по умолчанию: shopname.catalog.xml)directory
- Директория для итогового icml файла (по умолчанию: текущая директория)'archivedGoods'
- опция для включения в генерацию архивных товаров и торговых предложений (принимает значенияtrue
илиfalse
)'purchasePrice'
- флаг для управление генерацией закупочной цены. Если данная опция установлена вfalse
то генерация закупочной цены из сервиса Мой Склад производиться не будет. При активной интеграции RetailCRM -> Мой Склад данная опция должна бытьfalse
.ignoreCategories
- массив с ключами:ids
- Массив cid
групп товаров, которые должны быть проигнорированыexternalCodes
- Массив cвнешними кодами
групп товаров, которые должны быть проигнорированы
ignoreNoCategoryOffers
- Еслиtrue
товары, не принадлежащие ни к одной категории, будут проигнорированыimageDownload
- массив, содержащий информацию для загрузки изображенийsite
- адрес сайта откуда будут отдаваться изображения в retailCRMpathToImage
- путь от корня сайта до дирректории где будут храниться изображения
tagWeight
- передача веса в тегеweight
вместоparam
. Единица измерения - килограмм. Формат: положительное число с точностью 0.001 (или 0.000001, в зависимости от настройки RetailCRM "Точность веса": граммы или миллиграммы соответственно), разделитель целой и дробной части - точка. Указывается в свойствах товара сервиса Мой Склад Все доступные опции не обязательны для использования
Добавление изображения
Изображения сохраняются на сервер клиента!
Для того чтобы добавить в выгрузку изображение товара
В параметре $options необходимо заполнить ключ imageDownload
массивом со следующими ключ => значениями:
site
- указать адрес сайта в дирректориях которого располагается скрипт с указанием протокола (пример: http://test.ru или http://www.test.ru)pathToImage
- указать путь до дирректории сохранения изображений от корня сайта с корневой дирректорией сайта включительно (пример: site_root/path/to/directory) Если дирректория для сохранения изображений ещё не создана, то она будет создана при работе скрипта. Так же если в дирректории уже есть изображения с таким же названием, что и в сервисе Мой Склад, то данные изображения загружаться не будут, но к ней будет построена ссылка на изображение. Названия для изображений получаются из ответа сервиса Мой Склад (увидеть название изображения можно в карточке товара). Для торговых предложений изображение берется от товара, которому соответствует данное торговое предложение.