Передача промокода/купона из opencart в retailcrm. Модификация бесплатного модуля.

Используемый модуль:https://ocmod.net/modul-retailcrm

Задачи

Промокоды/промокоды — стандартный функционал opencart.

1.Если на товар есть скидка по акции и она составляет меньшую сумму, чем по промокоду, применяется только промокод. А если на товар есть скидка по акции и она соcтавляет большую сумму, чем по промокоду, то применяется только скидка по акции. Скидки не суммируются. Это должно быть применимо только для купонов/промокодов с процентным типом.

2.Информация о применении промокода (какой, на какую сумму) должна передаваться в РЦРМ.

 class=

Решение задачи 1

Найти файл catalogmodelextensiontotalcoupon.php

Г Д Е ВСТАВЛЯТЬЧ Т О ВСТАВЛЯТЬ
после фрагмента
if ($coupon_info[‘type’] == ‘F’) {
$coupon_info[‘discount’] = min($coupon_info[‘discount’], $sub_total);
}
вставить
$this->load->model(‘catalog/product’);
$totalnewlogic = 0;
после фрагмента
if (!$coupon_info[‘product’]) {
$status = true;
} else {
$status = in_array($product[‘product_id’], $coupon_info[‘product’]);
}

вставить
$product_details = $this->model_catalog_product->getProduct($product[‘product_id’]);
$original = (float)$product_details[‘price’]*$product[‘quantity’];



заменить фрагмент
if ($coupon_info[‘type’] == ‘F’) {
$discount = $coupon_info[‘discount’] * ($product[‘total’] / $sub_total);

кодом
$countdown=$original;
if ($coupon_info[‘type’] == ‘F’) {
$discount = $coupon_info[‘discount’] * ($countdown / $sub_total);

перед строкой
$discount_total += $discount;
вставить
if($product[‘quantity’]*((float)$product_details[‘price’]-$product[‘price’])>=$discount) {
$totalnewlogic+= $product[‘total’];
continue;
} else $totalnewlogic+=$original;
заменить
$total[‘total’] -= $discount_total;
кодом
$total[‘total’] = $totalnewlogic — $discount_total;

Решение задачи 2

Для начала нужно настроить пользовательские поля в Opencart и Retailcrm

Пользовательские поля Retailcrm

По адресу *.retailcrm.ru/admin/settings/fields добавил два пользовательских поля: одно для клиентов, одно для заказов

 class=

и выставил на них максимальные права.

Пользовательские поля Opencart

Добавляем в Покупатели->настраиваемые поля.Группы покупателей я указал все

 class=

Зайти в модуль интеграции RetailCRM во вкладку пользовательские поля и привести в соотвествие поля ИМ и СРМ

 class=

Модификация модуля

Найти файл systemlibraryretailcrmlibserviceOrderManager.php

После фрагмента

public function editOrder($order_data, $order_products, $order_totals) {
    $order = $this->prepareOrder($order_data, $order_products, $order_totals);

внести туда код

    foreach ($order_totals as $item) {
        if($item['code']=='coupon'&&!empty($item['title'])&&!empty($item['value'])) {
           $order['customFields']['promocode'] = $item['title'].$item['value'];
           break;
        }
    }

Если хотите чтобы ваши изменения не пропали после обновлений модуля, то воспользуйтесь его кастомизацией , инфа по ссылке

Если получится с кастомизацией, то в благодарность за статью пришлите, плиз, рабочий вариант)) а то руки пока не доходят сделать.

guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

СТАТЬИ БЛОГА ПО РУБРИКЕ И МЕТКАМ

img

Организация мульти склада в opencart и получение остатков из 1С

Краткое описание модуля Заказать организацию мульти склада в opencart и получение остатков из 1С можете через мой кворк или напрямую через контакты на сайте. Условия для работы модуля Товарам в ИМ должен быть присвоен уникальный код, […]

Организация мульти склада в opencart и получение остатков из 1С

Краткое описание модуля Заказать организацию мульти склада в opencart и получение остатков из 1С можете через мой кворк или напрямую через контакты на сайте. Условия для работы модуля Товарам в ИМ должен быть присвоен уникальный код, […]
img

Загрузка объектов недвижимости на wordpress через xml по крону

Заказать разработку плагинов для wordpress можно через мой кворк или обратившись ко мне напрямую. Описание решения За основу взята статья WORDPRESS WOOCOMMERCE: ДОБАВЛЕНИЕ КАТЕГОРИЙ И ТОВАРОВ ПО API В КАТАЛОГ На проекте используются: Создаем в корне сайта […]

Загрузка объектов недвижимости на wordpress через xml по крону

Заказать разработку плагинов для wordpress можно через мой кворк или обратившись ко мне напрямую. Описание решения За основу взята статья WORDPRESS WOOCOMMERCE: ДОБАВЛЕНИЕ КАТЕГОРИЙ И ТОВАРОВ ПО API В КАТАЛОГ На проекте используются: Создаем в корне сайта […]
img

Возможности интеграции Опенкарт и МойСклад

Интеграция проверена на проектах до 12 тыс. товарных позиций

Платформа: Opencart

Версия Api МойСклад: 1.2

ОПИСАНИЕ: работает в нескольких режимах. Когда нужна первая начальная синхронизация, перебирает всю информацию из МС от самого раннего товара. Потом ставится на крон и работает в режиме, когда скрипты отыскивают изменения из МС, которые были совершены между крайними запусками. В модуле компактный код, используются одна и та же библиотека и функции для разных режимов. Ещё плюс, что модуль извлекает из АПИ МойСклад информацию постранично и фиксируется в БД процент выполнения. То есть если синхронизация по какой-то причине прервется, то достаточно запустить скрипт снова и процесс начнется не сначала, а с зафиксированной точки останова.

Возможности интеграции Опенкарт и МойСклад

Интеграция проверена на проектах до 12 тыс. товарных позиций Платформа: Opencart Версия Api МойСклад: 1.2 ОПИСАНИЕ: работает в нескольких режимах. Когда нужна первая начальная синхронизация, перебирает всю информацию из МС от самого раннего товара. Потом ставится на крон и работает в режиме, когда скрипты отыскивают изменения из МС, которые были совершены между крайними запусками. В модуле компактный код, используются одна и та же библиотека и функции для разных режимов. Ещё плюс, что модуль извлекает из АПИ МойСклад информацию постранично и фиксируется в БД процент выполнения. То есть если синхронизация по какой-то причине прервется, то достаточно запустить скрипт снова и процесс начнется не сначала, а с зафиксированной точки останова.
img

Переход на https в opencart wordpress

Для wordpress

https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564

Для нулевых сайтов на opencart

Переход на https в opencart wordpress

Для wordpress https://zen.yandex.ru/media/id/5b4ae96b3d0e9500a9a853c7/podkliuchenie-besplatnogo-sslsertifikata-na-hostinge-timeweb-5b5eb4e09bef9e00a82f7564 Для нулевых сайтов на opencart
img

Как наполнить opencart 2.3 fake-заказами

Подключиться к БД другого интернет-магазина и выкачать оттуда заказы с помощью запроса С помощью хранимой процедуры актуализируем заказы, на одну дату по пять заказов Если получились заказы из будущего, то запросом delete удаляем лишнии, в […]

Как наполнить opencart 2.3 fake-заказами

Подключиться к БД другого интернет-магазина и выкачать оттуда заказы с помощью запроса С помощью хранимой процедуры актуализируем заказы, на одну дату по пять заказов Если получились заказы из будущего, то запросом delete удаляем лишнии, в […]
img

Создание pdf с деталями заказа в письме клиенту. Opencart

Сделано в OPENCART 2.3. Скачать библиотеку, зайти в папку с ней через консоль команд и выполнить команды git clone https://github.com/dompdf/dompdf.git cd dompdf git clone https://github.com/PhenX/php-font-lib.git lib/php-font-lib cd lib/php-font-libgit checkout 0.5.1 cd .. git clone https://github.com/PhenX/php-svg-lib.git […]

Создание pdf с деталями заказа в письме клиенту. Opencart

Сделано в OPENCART 2.3. Скачать библиотеку, зайти в папку с ней через консоль команд и выполнить команды git clone https://github.com/dompdf/dompdf.git cd dompdf git clone https://github.com/PhenX/php-font-lib.git lib/php-font-lib cd lib/php-font-libgit checkout 0.5.1 cd .. git clone https://github.com/PhenX/php-svg-lib.git […]
img

Как принимать оплату по qr коду тинькофф у себя в магазине. Интернет-эквайринг Тинькофф Банк на opencart+retailcrm

Заказать разработку модулей для opencart можно через мой кворк или обратившись ко мне напрямую. Используется модуль оплаты для opencart 3 с сайта https://www.tinkoff.ru/kassa/develop/cms/ Скачан по ссылке https://acdn.tinkoff.ru/static/acquiring/60537806-12d5-4ed7-9e9f-72f77dc655f8.zip?_ga=2.81241748.286014317.1643209680-1435375226.1632341646 Задача В платежном шлюзе тинькоф отключить оплату по банковской карте, […]

Как принимать оплату по qr коду тинькофф у себя в магазине. Интернет-эквайринг Тинькофф Банк на opencart+retailcrm

Заказать разработку модулей для opencart можно через мой кворк или обратившись ко мне напрямую. Используется модуль оплаты для opencart 3 с сайта https://www.tinkoff.ru/kassa/develop/cms/ Скачан по ссылке https://acdn.tinkoff.ru/static/acquiring/60537806-12d5-4ed7-9e9f-72f77dc655f8.zip?_ga=2.81241748.286014317.1643209680-1435375226.1632341646 Задача В платежном шлюзе тинькоф отключить оплату по банковской карте, […]
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x