Модуль позволяет устанавливать индивидуальные скидки группам покупателей.

Скидка может быть в процентах или же фиксированной.

Установка

  • Скопировать файлы модуля в корень сайта (файлы ядра не модифицируются)
  • В админке перейти в Дополнения -> Учитывать в заказе и установить модуль «Скидки группам покупателей»
  • Нажать «изменить» в только что установленном модуле
  • Включить его и выставить сортировку.

Использование

По адресу Модули -> Учитывать в заказе -> Скидки группам покупателей находится интерфейс управления скидками: Opencart. Скидки группам покупателей

Каждая скидка привязывается к группе пользователей. Скидке можно выставить дату начала и дату конца активности. Можно, например, организовать «ночные» скидки.

Вывод скидки в карточке товара

Пишем небольшой Vqmod:

<modification>
    <id>wediscountusergroups_product</id>
    <version>1.0</version>
    <vqmver>1.0.8</vqmver>
    <author>OlegPro.ru</author>
    <file name="catalog/controller/product/product.php">
        <operation>
            <search position="after" index="1"><![CDATA[
            public function index() {
            ]]></search>
            <add>
            <![CDATA[
            $this->load->model('checkout/wediscountusergroups');
            $this->data['discount_info'] = $this->model_checkout_wediscountusergroups
                ->getDiscountByCustomerGroupId($this->customer->getCustomerGroupId());
            ]]></add>
        </operation>        
    </file>
</modification>

Теперь в шаблоне карточки товара будет доступна переменная $discount_info. Если скидка есть для текущего пользователя, то это будет массив вида:

Array
(
    [id] => 5
    [name] => Скидка 50% на всё
    [discount] => 50.0000
    [type] => P
    [customer_group] => 1
    [date_start] => 0000-00-00 00:00:00
    [date_end] => 0000-00-00 00:00:00
    [status] => 1
)

Если Vqmod не установлен, то прямо в шаблоне карточки товара вставляем:

<?php
$this->load->model('checkout/wediscountusergroups');
 
$discount_info = $this->model_checkout_wediscountusergroups
    ->getDiscountByCustomerGroupId($this->customer->getCustomerGroupId());
?>

Модуль тестировал на версиях 1.5.1.3 и 1.5.5.1.1 OpenCart. Думаю, он должен работать и на более поздних версиях.

Ссылки

Репозиторий на гитхабе.
Скачать с OpenCart Форум.