Цена в зависимости от условий
Материал из Umicms
Версия от 16:00, 26 сентября 2010; Nasty (обсуждение | вклад) (Новая страница: «== Задача: == В интернет-магазине цена должна быть в зависимости от каких-то условий. == Реше…»)
Задача:
В интернет-магазине цена должна быть в зависимости от каких-то условий.
Решение:
1. Нужно написать обработчик события. Более подробную информацию о событиях Вы можете прочитать здесь http://api.umi-cms.ru/events.html Вам необходимо создать в файл classes/modules/catalog/custom_events.php. В нём прописать следующий код:
<?php new umiEventListener("umiObjectProperty_loadPriceValue", "catalog", "onLoadPriceHandler"); ?>
Это событие будет вызывать кастомный макрос определяющий цену.
2. Написать кастомный макрос. Для этого в файле classes/modules/catalog/__custom.php Описатать следующий код:
<?php abstract class __custom_catalog { public function onLoadPriceHandler(iUmiEventPoint $oEventPoint) { // get plain price relation $price = &$oEventPoint->getRef('price'); // get object id $object_id = $oEventPoint->getParam('object_id'); // TODO: write your custom logic here // .... // and set new $price value $price = 6436; } }; ?>
Итог
Мы привели Вам примерный текст макроса. Теперь необходимо описать соответствующие условия и присвоить переменной $price необходимую вариацию цены.