Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как ограничить процент оплаты бонусами?


Recommended Posts

Схема такая, народу нужно раздать день за активность в соц сетях.
Как ограничить процент оплаты этими бонусами от общей суммы в корзине??
Т.е я раздаю 50 тыс руб, каждому нужному пользователю по 1000 должно зачислиться на счет в ЛК(Этот момент делается в ручную), но использовать их можно не более чем 20-30-50% от корзины..
По дефолту можно 100% или выбранное количество, нужно ограничить максимум.

Может быть не через бонусы, а через кредит магазина, тут не принципиально

Надіслати
Поділитися на інших сайтах


вам нужно сделать максимальный процент оплаты бонусом где-то в model/total/reward

 

после 

$points = $this->customer->getRewardPoints();

 

как-то так вставить

if($points > $total*0.3) $points = $total*0.3;

Надіслати
Поділитися на інших сайтах

13 часов назад, spectre сказал:

вам нужно сделать максимальный процент оплаты бонусом где-то в model/total/reward

 

после 

$points = $this->customer->getRewardPoints();

 

как-то так вставить

if($points > $total*0.3) $points = $total*0.3;

каталога total у меня нет , нашел такой catalog/model/account/reward.php

но там нет подобных строк, все содержимое файла на скрине
http://joxi.ru/LmGJWeztRaGpor

Надіслати
Поділитися на інших сайтах


4 часа назад, ArtemZH сказал:

каталога total у меня нет , нашел такой catalog/model/account/reward.php

но там нет подобных строк, все содержимое файла на скрине
http://joxi.ru/LmGJWeztRaGpor

тогда model/extension/total/reward

Змінено користувачем spectre
Надіслати
Поділитися на інших сайтах

В 17.03.2018 в 14:28, spectre сказал:

тогда model/extension/total/reward

Да, все нашел и если такую же логику для кредита магазина, то
 

Спойлер

 

$balance = $this->customer->getBalance();

        if ((float)$balance) {
            $credit = min($balance, $total);

            if ($credit > 0) {
                $total['totals'][] = array(
                    'code'       => 'credit',
                    'title'      => $this->language->get('text_credit'),
                    'value'      => -$credit*0.3,
                    'sort_order' => $this->config->get('credit_sort_order')
                );

                $total['total'] -= $credit*0.3;

 

а то попробовал и только сейчас понял что чтоб бонусы использовать, нужно всем товарам цены в бонусах провисать))

ПС Хотя это будет 30% от баланса кредита магазина, а надо от суммы корзины
Но такая комбинация не прокатывает
if($credit > $total*0.3) $credit = $total*0.3;

Змінено користувачем ArtemZH
Надіслати
Поділитися на інших сайтах


  • 1 year later...

я так  и не понял как вставить 

if($points > $total*0.3) $points = $total*0.3

и куда ?

мне надо чтоб товар не могли больше чем за 30 процентов от товара, оплачивался бонусами

Надіслати
Поділитися на інших сайтах


  • 5 months later...

ocStore 2.3. В controller/extension/total/reward.php

 

 

class ControllerExtensionTotalReward extends Controller {
    public function index() {
        $points = $this->customer->getRewardPoints();

        $points_total = 0;

        foreach ($this->cart->getProducts() as $product) {
            if ($product['points']) {
                $points_total += 0.3*$product['points'];
            }
        }

 

    public function reward() {
        $this->load->language('extension/total/reward');

        $json = array();

        $points = $this->customer->getRewardPoints();

        $points_total = 0;

        foreach ($this->cart->getProducts() as $product) {
            if ($product['points']) {
                $points_total += 0.3*$product['points'];
            }
        }

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.