1
0
mirror of synced 2025-02-06 23:39:24 +03:00
moysklad-catalog/README.md

115 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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