opencart-module/README.md

100 lines
3.8 KiB
Markdown
Raw Normal View History

2014-08-19 08:00:13 +04:00
Opencart module
===============
2014-08-15 13:35:22 +04:00
2016-01-29 17:59:53 +03:00
Модуль интеграции CMS Openacrt c [RetailCRM](http://retailcrm.ru)
2014-08-15 13:35:22 +04:00
2016-01-29 17:59:53 +03:00
#### Модуль позволяет:
2014-08-15 13:35:22 +04:00
* Экспортировать в CRM данные о заказах и клиентах и получать обратно изменения по этим данным
* Синхронизировать справочники (способы доставки и оплаты, статусы заказов и т.п.)
* Выгружать каталог товаров в формате [ICML](http://retailcrm.ru/docs/Разработчики/ФорматICML) (IntaroCRM Markup Language)
2014-08-15 13:35:22 +04:00
2016-01-29 17:59:53 +03:00
#### Установка
2015-06-26 18:07:36 +03:00
2016-01-29 17:59:53 +03:00
Установите модуль скопировав необходимые файлы в корень сайта
2015-06-26 18:07:36 +03:00
```
unzip master.zip
2016-01-29 17:59:53 +03:00
cp -r opencart-module/* /path/to/site/root
2015-06-26 18:07:36 +03:00
```
#### Активируйте модуль
2015-06-26 18:07:36 +03:00
2016-01-29 17:59:53 +03:00
В списке модулей нажмите "Установить"
#### Настройте параметры интеграции
На странице настроек модуля укажите URL Вашей CRM и ключ авторизации, после сохранения этих данных укажите соответствия справочников типов доставок, оплат и статусов заказа.
2015-06-26 18:07:36 +03:00
#### Выгрузка новых заказов в CRM (для версии opencart 1.5.x.x, для версии 2.0 и старше не требуется)
2015-06-26 18:07:36 +03:00
2016-01-29 17:59:53 +03:00
##### VQmod
Скопируйте xml-файл модифицирующий работу моделей _admin/model/sale/order.php_ и _catalog/model/checkout/order.php_ в _/path/to/site/root/vqmod/xml_.
Для обновления кеша VQmod может потрбоваться удалить файлы _/path/to/site/root/vqmod/vqcache/vq2-admin_model_sale_order.php_ и _/path/to/site/root/vqmod/vqcache/vq2-catalog_model_checkout_order.php_
##### Ручная установка
В файле:
```
/catalog/model/checkout/order.php
```
Добавьте следующие строки в метод addOrder непосредственно перед языковой конструкцией return:
2015-06-26 18:07:36 +03:00
2016-01-29 17:59:53 +03:00
```php
2015-06-26 18:07:36 +03:00
$this->load->model('retailcrm/order');
2016-01-29 17:59:53 +03:00
$this->model_retailcrm_order->sendToCrm($data, $order_id);
2015-06-26 18:07:36 +03:00
```
В файле:
2015-06-26 18:07:36 +03:00
```
/admin/model/sale/order.php
2015-06-26 18:07:36 +03:00
```
2016-01-29 17:59:53 +03:00
Добавьте следующие строки в методы addOrder и editOrder в самом конце каждого метода:
2015-06-26 18:07:36 +03:00
2016-01-29 17:59:53 +03:00
```php
2015-06-26 18:07:36 +03:00
if (!isset($data['fromApi'])) {
2016-01-29 17:59:53 +03:00
$this->load->model('setting/setting');
$status = $this->model_setting_setting->getSetting('retailcrm');
if (!empty($data['order_status_id'])) {
$data['order_status'] = $status['retailcrm_status'][$data['order_status_id']];
}
2015-06-26 18:07:36 +03:00
$this->load->model('retailcrm/order');
2016-01-29 17:59:53 +03:00
if (isset ($order_query)) {
$this->model_retailcrm_order->changeInCrm($data, $order_id);
} else {
$this->model_retailcrm_order->sendToCrm($data, $order_id);
}
2015-06-26 18:07:36 +03:00
}
```
#### Получение измений из CRM
2015-06-26 18:07:36 +03:00
Для получения изменений и новых данных добавьте в cron следующую запись:
2015-06-26 18:07:36 +03:00
```
*/5 * * * * /usr/bin/php /path/to/opencart/system/cron/retailcrm/history.php >> /path/to/opencart/system/logs/cronjob_history.log 2>&1
2015-06-26 18:07:36 +03:00
```
2014-08-19 23:53:11 +04:00
2015-07-23 00:30:58 +03:00
#### Настройка экспорта каталога
Для периодической выгрузки каталога добавьте в cron следующую запись:
```
* */4 * * * /usr/bin/php /path/to/opencart/system/cron/export.php >> /path/to/opencart/system/logs/cronjob_export.log 2>&1
```
В настройках CRM установите путь к файлу выгрузки
```
2016-01-29 17:59:53 +03:00
http://myopencartsite.ru/download/retailcrm.xml
2015-07-23 00:30:58 +03:00
```