Василий Наумкин

Василий Наумкин

Был в сети 10 июня 2026, 17:44
Заказы не принимаю
Выводить на сайте разные цены можно хотя бы условиями в чанке. Использовать можно не только ТВ, но и поле old_price, а также можно добавить свое собственное, расширением свойств товара.

Главная цель — положить товар в корзину с нужной ценой, этого можно добиться написанием плагина на событие корзины msOnBeforeAddToCart.

Плагин должен проверять авторизацию и получать нужную цену, а затем менять её в объекте product (но не сохранять!).

Пример плагина, меняющего нормальный price на old_price, если юзер авторизован:
if ($modx->event->name == 'msOnBeforeAddToCart' && $modx->user->isAuthenticated()) {
	$old_price = $product->get('old_price');
	if (!empty($old_price)) {
		$product->set('price', $old_price);
	}	
}
1. При оформлении кода нужно использовать тег code.

2. Чтобы понять в чем ошибка, желательно посмотреть на что ругается процессор:
if (!$response->isError()) {
	print_r($response->getAllErrors());
}
3. Отдельно на почту не надо писать, как есть время — я просматриваю сайт и стараюсь отвечать на вопросы.