msDiscount применяет скидку от определенной группы вообще всем
Написал плагин на основе плагина msDiscount, который должен менять цену price_msk в зависимости от группы пользователей, для которой назначена скидка. Но в результате он применяет скидку вообще всем пользователям и анонимным. Как настроить, чтобы скидка определенной группы применялась только к ее пользователям? msDiscount же по идее должен сам определять это…
<?php
$msDiscount = $modx->getService('msDiscount');
switch($modx->event->name) {
case 'msOnGetProductFields':
if ($modx->context->key == 'mgr') {return;}
$returned_values = &$modx->event->returnedValues;
$values = $modx->event->params['data'];
$price_msk = $values['price_msk'];
if (!isset($returned_values['price_msk'])) {
$returned_values['price_msk'] = $price_msk;
}
$new_price_msk = $msDiscount->getNewPrice($product->id, $price_msk, $modx->user->id);
if ($new_price_msk !== false) {
$returned_values['price_msk'] = $new_price_msk;
}
break;
}