@SeiLove

Как передать цену из другого поля?

Не могу понять как манипулировать ценой.. у меня есть поле в товарах "акционная цена" и надо чтобы именно эта цена падала в корзину, а не основная..
Прописал в кастоме модуля catalog следующее
public function OnPriceValue(iUmiEventPoint $e) { 
	 
// Объект для которого запрашивается значение из поля типа "Цена"
$object_id = $e->getParam('object_id');
// Значение цены 
$value = &$e->getRef('price');

$object = umiObjectsCollection::getInstance()->getObject($object_id);
$akcionnaya_cena=$object->getValue('akcionnaya_cena');
	if($akcionnaya_cena!=0){  
$new_price = $object->getValue('akcionnaya_cena');
$value = $new_price;
}
else return false;

}

прописал в permissions.custom
'purchasing' => array('OnPriceValue')
Создал custom_events.php
<?php
new umiEventListener("umiObjectProperty_loadPriceValue", "emarket", "OnPriceValue");
?>
  • Вопрос задан
  • 271 просмотр
Пригласить эксперта
Ответы на вопрос 1
@ilyarsoftware
Заказ пересчитывается при обновлении корзины и в момент оформления, поэтому манипуляция с объектами корзины напрямую непредсказуемо, посмотрите в направление обработки событий, например Цена в зависимости от условий.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы