Расширение функционала 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;
}            
                Спасибо, буду пробовать            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.