Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

htmllancer

  • *
  • 7
  • +0/-0
    • Просмотр профиля
Изменение цены товара
« : 28 Марта 2014, 13:20:17 »
Доброго всем, стоит такая задача - изменить цену товара по логике
одно поле умножить на другое

Кроме как через event 'order_refresh' - это не реализовать

но столкнулся с такой проблемой,что мне не взять цену товара, не обнулить ее, только что то вычесть
		public function OnPutElement(iUmiEventPoint $e) {
if ($e->getMode() === "after") {

$order = $e->getRef('order');
$items = $order->order_items;

foreach($items as $item) {
$objects = umiObjectsCollection::getInstance();
$itemObject = $objects->getObject($item);
$itemPrice = $itemObject->getValue('item_price');
                                         // реально 400 но в дампе 0
$itemObject->setValue('item_price', '-388');
                                        // в дампе 12
}
throw new BreakException();
}

}

};

К то нибудь сталкивался с такой проблемой? Или кто знает как ее по другому решить?

Спасибо

*

ilyar

Re:Изменение цены товара
« Ответ #1 : 28 Марта 2014, 14:19:47 »
Сталкивался, позже постараюсь описать подробнее особенности решения через iUmiEventPoint.

Рекомендую реализовать это через baseRestriction для поля Price

*

htmllancer

  • *
  • 7
  • +0/-0
    • Просмотр профиля
Re:Изменение цены товара
« Ответ #2 : 28 Марта 2014, 17:10:27 »
Спасибо. Почитаю. Если не сложно приведите особенности решения через iUmiEventPoint

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Изменение цены товара
« Ответ #3 : 14 Мая 2014, 13:49:26 »
Доброго всем, стоит такая задача - изменить цену товара по логике
одно поле умножить на другое

в какой момент должна меняться цена? при выводе в каталоге? при положении в корзину? при оформлении заказа?