savage4pro

Комиссия методов оплаты

Recommended Posts

7 часов назад, savage4pro сказал:

как минимум больше порядка "Итого", но меньше порядка "Всего"

Теперь работает! Может, в инструкции указать этот момент, чтоб вопросы не повторялись?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

дело в том, что данная настройка является стандартной особенностью всех модулей "Учитывать в заказе", поэтому 

В 10.12.2015 at 16:52, savage4pro сказал:

активировать модуль и настроить

как раз и намекает, что после активации надо-таки его настроить

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не работает на ocStore 2.1.0.2

Выдает ошибку: 

PHP Fatal error:  Can't use method return value in write context in ***/catalog/model/total/payment_costs.php on line 4

Проект перестает вовсе грузиться, пока не отключу модуль(

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 10.01.2017 at 12:18, antskachkov сказал:

Подскажите, а если указать отрицательную величину, будет ли считаться скидка?

Нет, не будет. Но если в catalog/model/totalpayment_costs.php добавить "<", то будет :)

И, кмк, стоит округлять значение скидки, если нет желания копаться в богомерзких копейках в тотале.

Ну и имеет, наверное, смысл выводить точную величину скидки, если делать округление значения скидки. А то покупатели говнится начнут, что, дескать, "обман!, скидка меньше(больше) заявленной!" :)

Я бы так сделал:

Скрытый текст

<?php
class ModelTotalPaymentCosts extends Model {
    public function getTotal(&$total_data, &$total, &$taxes) {
        $payment_costs_config = $this->config->get('payment_costs');
        if ($this->config->get('payment_costs_status') && $payment_costs_config && isset($this->session->data['payment_method']) && isset($payment_costs_config[$this->session->data['payment_method']['code']]) && $payment_costs_config[$this->session->data['payment_method']['code']]<>0) {
            $comission = round(($total * $payment_costs_config[$this->session->data['payment_method']['code']])/100,0);
            $total_data[] = array(
                'code'       => 'payment_costs',
                'title'      => $this->session->data['payment_method']['title'].' ('.round($comission/$total*100,2).'%)',
                'value'      => $comission,
                'sort_order' => $this->config->get('payment_costs_sort_order')
            );
            $total += $comission;
        }
    }
}

 

Красный знак меньше - добавляем искомую возможность делать скидку при сохранении сокрытия в списке позиций, у которых скидка/наценка равна "0".

Синий ноль - округление до кол-во знаков после запятой в значении скидки/наценки.

Зеленая двойка - кол-во знаков после запятой в описании скидки/наценки.

Надеюсь, автора не покоробит мое сиволапое копание в его коде :)

Модуль классный, всем хотеть! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу