Расширение функционала shopkeeper3 (градации цены)
Здравствуйте, стоит задача в интернет магазине, сделанном на SHK сделать возможность некоторым товарам добавлять «плавающую» цену. Эта плавающая цена будет зависеть либо от количества единиц этого товара, которое кладется в корзину, либо от общей суммы заказа (товары в магазине разные и соответственно для какого-то товара первое условие, а для какого-то второе). Сейчас, собственно, дошла до того, что, наверно, надо будет написать плагин на событие OnSHKcalcTotalPrice. Но вот сложность — плагины до этого писать не приходилось.
Вопрос такой: это верное решение насчет плагина или может можно сделать как-то более простым путем. И если все же надо плагин сделать, то не подскажете как в нем получить массив с информацией о товарах, которые лежат в корзине?
Буду благодарна за любые подсказки.
Вопрос такой: это верное решение насчет плагина или может можно сделать как-то более простым путем. И если все же надо плагин сделать, то не подскажете как в нем получить массив с информацией о товарах, которые лежат в корзине?
Буду благодарна за любые подсказки.
Комментарии: 2
Нужно писать плагин, для события 'OnSHKcalcTotalPrice'
Вот пример плагина заготовки:
Вот пример плагина заготовки:
<?php
/** @var modX $modx */
$eventName = $modx->event->name;
switch ($eventName) {
/* Рассчет полной цены товаров в корзине. $_SESSION['shk_order'], $price_total. */
case 'OnSHKcalcTotalPrice':
/** @var $scriptProperties */
$price_total = (float)str_replace(array(' ', ','), array('', '.'), $modx->getOption('price_total', $scriptProperties, 0));
$oldPrice = $price_total;
/* @todo тут всякие условия для $_SESSION['shk_order']*/
$modx->event->output($price_total);
break;
}
Спасибо, буду пробовать
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.