OpenCart integration plugin
Go to file
Alex Lushpai 74993334c5 Merge pull request #12 from DmitryKorol/version2
module for opencart v2.x
2016-08-02 14:36:24 +03:00
admin Merge pull request #12 from DmitryKorol/version2 2016-08-02 14:36:24 +03:00
catalog added opencart 2.2 compatibility 2016-08-02 14:20:56 +03:00
system history, fixes 2016-07-25 17:21:15 +03:00
Changelog.md v0.3.0 2016-01-29 18:04:48 +03:00
LICENSE Update LICENSE 2015-02-02 16:21:38 +03:00
README.md some fixes for opencart 2.2 2016-07-12 16:28:14 +03:00
README.ru.md some fixes for opencart 2.2 2016-07-12 16:28:14 +03:00

Opencart module

Module allows integrate CMS Opencart with retailCRM

Features:

  • Export orders to retailCRM & fetch changes back
  • Export product catalog into ICML format

Install

Copy files to the site root

unzip master.zip
cp -r opencart-module/* /path/to/site/root

Setup

  • Go to Admin -> Extensions -> Modules -> retailCRM
  • Fill you api url & api key
  • Specify directories matching

Export orders to retailCRM (for opencart 1.5.x, for version 2.x this step is unnecessary)

VQmod

Copy retailcrm_create_order.xml into /path/to/site/root/vqmod/xml.

For VQmod cache renewal you may need to delete files /path/to/site/root/vqmod/vqcache/vq2-admin_model_sale_order.php & /path/to/site/root/vqmod/vqcache/vq2-catalog_model_checkout_order.php

Manual setup

In the file:

/catalog/model/checkout/order.php

add theese lines into addOrder method right before return statement:

$this->load->model('retailcrm/order');
$this->model_retailcrm_order->sendToCrm($data, $order_id);

In the file:

/admin/model/sale/order.php

add theese lines into addOrder & editOrder methods right before return statement:

if (!isset($data['fromApi'])) {
    $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']];
    }

    $this->load->model('retailcrm/order');
    if (isset ($order_query)) {
        $this->model_retailcrm_order->changeInCrm($data, $order_id);
    } else {
        $this->model_retailcrm_order->sendToCrm($data, $order_id);
    }
}

Getting changes in orders

Add to cron:

*/5 * * * * /usr/bin/php /path/to/opencart/system/cron/history.php >> /path/to/opencart/system/logs/cronjob_history.log 2>&1

Setting product catalog export

Add to cron:

* */4 * * * /usr/bin/php /path/to/opencart/system/cron/icml.php >> /path/to/opencart/system/logs/cronjob_icml.log 2>&1

Your export file will be available by following url

http://youropencartsite.com/retailcrm.xml