Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

Форум Сайт на DIAFAN.CMS Программирование на DIAFAN.CMS Работа со скидками для групп пользователей


evileyes (evileyes) 08 мая, среда

Привет всем. Такой вопрос: на сайте есть 2 созданных группы пользователей - розничный и оптовый покупатели. Разные цены для них реализованы через характеристики. Необходимо дать скидку незарегистрированным пользователям и розничным покупателям. В настройках скидок ставим глобальную скидку, она действует на всех. Но цена для оптовых покупателей должна оставаться неизмемененной, она не должна пересчитываться. "Из коробки" нельзя сделать скидку для всех групп пользователей, кроме указанной.
Расчёт скидок производится, насколько я понимаю, в /modules/shop/inc/shop.inc.price.php , пытаюсь отменить расчёт скидок путём сравнения группы текущего залогиненного пользователя
Код
$this->diafan->_users->role_id != 4
(оптовики имеют этот номер группы)
Через
Код
if ( $this->diafan->_users->role_id != 4 ) { ... }
врезался в
Код
public function calc($good_id = 0, $discount_id = 0, $currency_id = 0)
но ничего не выходит. Кеш сбрасывал. Не пересчитывает. Определенно, я делаю что-то не так. Буду признателен за направление куда копать с этими скидками :)

Александра (Alexa0105) Сайт в Diafan.Cloud18708 мая, среда

Эээ.. А если вместо глобальной скидки сделать скидку для группы розничные покупатели?
Не подходит такой вариант?

evileyes (evileyes) 08 мая, среда

тогда она не отображается для тех, кто не зарегистрирован, т.к. разные цены для незареганных&розничных реализованы через доп. характеристики, т.е. скрипт определяет к какой группе относится текущий юзер и затем насильно ставит ему в select'е нужный выбор из доп. характеристики цен.
в общем, не хотелось бы переделывать вывод нужной цены для розницы/опта.