Разные цены для разных групп покупателей

Есть несколько групп пользователей, им нужно в товарах отдавать разную цену
наткнулся на этот вопрос,
но там обсуждается подмена цены при добавлении в корзину
другие цены, допустим, будут находится в тв поле (или в опции, не знаю как лучше)
подскажите, как в итоге делать полную подмену цены для отдельной группы пользователей?
alexandr.skyrda
12 декабря 2022, 14:15
modx.pro
1
483
0

Комментарии: 4

Николай Савин
12 декабря 2022, 15:46
2
+3
Вам нужно создать плагин на событие msOnGetProductPrice

Пример кода такой
/** @var modX $modx */
/** @var msProduct $product */
if ($modx->event->name == 'msOnGetProductPrice') {
    $userGroups = $modx->user->getUserGroups();
    $sale_group = 4;
    //  $sale_price - цена со скидкой.  Придумайте откуда ее взять.  Отдельное поле или процент от общей цены
    $sale_price = 100;

    if (in_array($id_group, $userGroups)) {
        $modx->event->returnedValues['price'] = $sale_price
    }
}

Здесь по коду проверяем в каких группах состоит клиент. Если среди них есть скидочная группа — то подменяем price на нужное вам число
    alexandr.skyrda
    12 декабря 2022, 15:52
    0
    in_array($id_group, $userGroups)
    здесь мб вместо id_group sale_group должно быть?
    alexandr.skyrda
    12 декабря 2022, 15:53
    0
    а так спасибо, как раз начал пробовать с этим событием msOnGetProductPrice
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4