1
0
mirror of synced 2025-02-11 17:59:26 +03:00
moysklad-catalog/README.md

115 lines
7.6 KiB
Markdown
Raw Normal View History

2014-12-17 16:24:51 +03:00
# moyskad-catalog
2014-12-16 10:35:14 +03:00
2014-12-17 18:41:35 +03:00
Генератор ICML для каталога из МойСклад
2014-12-17 16:24:51 +03:00
2014-12-17 18:41:35 +03:00
## Использование
2014-12-17 16:24:51 +03:00
2014-12-17 18:41:35 +03:00
1) Выполните include файла `MoySkladICMLParser.php`
2014-12-17 16:24:51 +03:00
2014-12-17 18:41:35 +03:00
2) Сконфигурируйте парсер
2014-12-17 16:24:51 +03:00
```php
$parser = new MoySkladICMLParser(
'login@moysklad',
'password',
'shopname',
$options
);
```
2014-12-17 18:41:35 +03:00
3) Вызовите метод `generateICML`
2014-12-17 16:24:51 +03:00
2014-12-17 18:41:35 +03:00
```php
$parser->generateICML();
```
Смотрите файл `example.php` в качестве простого примера использования парсера.
2014-12-17 16:24:51 +03:00
## Подробная пошаговая инструкция
Для автоматической генерации каталога товаров на основе продукции из МС Вам понадобится разместить на Вашем сервере небольшой скрипт, который будет заниматься созданием необходимого 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`, расширение файла оставить то же), либо оставить без изменения.
2017-09-14 17:00:56 +03:00
e) При необходимости включения в генерацию архивных товаров и модификаций в строке `'archivedGoods' => false` необходимо заменить значение `false` на `true`.
4) После настройки добавить задачу в cron: `* */4 * * * php /путь_к_файлу_скрипта/example.php` (данная запись подразумевает автоматический запуск генерации файла каталога каждый день раз в 4 часа).
5) Запустить генерацию вручную (командой `php /путь_к_файлу_скрипта/example.php`), чтобы в папке со скриптом появился файл каталога в формате xml.
6) Добавить ссылку на файл в настройках магазина в retailCRM.
2014-12-17 18:41:35 +03:00
## Дополнительные опции
2014-12-17 16:24:51 +03:00
2014-12-17 18:41:35 +03:00
Параметр $options - массив со следующими ключами:
2014-12-17 16:24:51 +03:00
2014-12-17 18:41:35 +03:00
* `file` - Имя файла с итоговым icml без пути (по умолчанию: shopname.catalog.xml)
* `directory` - Директория для итогового icml файла (по умолчанию: текущая директория)
2017-09-14 17:00:56 +03:00
* `'archivedGoods'` - опция для включения в генерацию архивных товаров и торговых предложений (принимает значения `true` или `false`)
* `'purchasePrice'` - флаг для управление генерацией закупочной цены. Если данная опция установлена в `false` то генерация закупочной цены из сервиса Мой Склад производиться не будет.
При активной интеграции RetailCRM -> Мой Склад данная опция должна быть `false`.
* `ignoreCategories` - массив с ключами:
* `ids` - Массив c `id` групп товаров, которые должны быть проигнорированы
2014-12-17 18:41:35 +03:00
* `externalCodes` - Массив c `внешними кодами` групп товаров, которые должны быть проигнорированы
* `ignoreNoCategoryOffers` - Если `true` товары, не принадлежащие ни к одной категории, будут проигнорированы
2017-09-29 10:40:30 +03:00
* `imageDownload` - массив, содержащий информацию для загрузки изображений
* `site` - адрес сайта откуда будут отдаваться изображения в retailCRM
* `pathToImage` - путь от корня сайта до дирректории где будут храниться изображения
* `tagWeight` - передача веса в теге `weight` вместо `param`. Единица измерения - килограмм.
Формат: положительное число с точностью 0.001 (или 0.000001, в зависимости от настройки RetailCRM "Точность веса": граммы или миллиграммы соответственно), разделитель целой и дробной части - точка.
Указывается в свойствах товара сервиса Мой Склад
2015-03-05 16:38:03 +03:00
Все доступные опции не обязательны для использования
2015-07-21 10:33:02 +03:00
## Добавление изображения
2015-03-05 16:38:03 +03:00
2017-09-29 10:40:30 +03:00
Изображения сохраняются на сервер клиента!
2015-07-21 10:33:02 +03:00
Для того чтобы добавить в выгрузку изображение товара
2015-03-05 16:42:46 +03:00
2017-09-29 10:40:30 +03:00
В параметре $options необходимо заполнить ключ `imageDownload` массивом со следующими ключ => значениями:
* `site` - указать адрес сайта в дирректориях которого располагается скрипт с указанием протокола (пример: http://test.ru или http://www.test.ru)
* `pathToImage` - указать путь до дирректории сохранения изображений от корня сайта с корневой дирректорией сайта включительно (пример: site_root/path/to/directory)
Если дирректория для сохранения изображений ещё не создана, то она будет создана при работе скрипта.
Так же если в дирректории уже есть изображения с таким же названием, что и в сервисе Мой Склад, то данные изображения загружаться не будут, но к ней будет построена ссылка на изображение.
2017-09-29 15:31:47 +03:00
Названия для изображений получаются из ответа сервиса Мой Склад (увидеть название изображения можно в карточке товара). Для торговых предложений изображение берется от товара, которому соответствует данное торговое предложение.
2017-09-29 10:40:30 +03:00