skip to content
KAD::Wiki
User Tools
Log In
Site Tools
Search
Tools
Show page
Old revisions
Log In
>
You are here:
Приветствие
»
Для сотрудников
»
Разработка
»
HostCMS
»
Статьи (по модулям)
»
Интернет-магазин
»
Полезные решения
»
Вычисление минимальной цены для группы товаров
private:koding:hostcms:modules:shop:useful:minimum_price
Media Files
====== Вычисление минимальной цены для группы товаров ====== Вызываем метод: ''$Shop_Controller_Show->addMinMaxPrice();'' Получаем в XML: ''<min_price>2700</min_price> <max_price>3200</max_price>'' Решение ниже устарело. ===== Устарело!!! ===== Вычисление минимальной цены товаров в группе товаров, включая дочерние группы. **Установка:** Помещаем в ТДС нижеприведенный код перед вызовом $Shop_Controller_Show->show(); <code php> //получаем минимальную цену товара для каждой группы //id Родительской группы $parent_group_id = (isset($Shop_Controller_Show->group))?$Shop_Controller_Show->group:0; //id Магазина $shop_id = (Core_Array::get(Core_Page::instance()->libParams, 'shopId'))?Core_Array::get(Core_Page::instance()->libParams, 'shopId'):3; $oGroups = Core_Entity::factory('shop_group'); $oGroups->queryBuilder() ->where('parent_id', '=', $parent_group_id) ->where('shop_id', '=', $shop_id); $oGroups = $oGroups->findAll(); $oXml = Core::factory('Core_Xml_Entity')->name("groups_min_prices"); foreach ($oGroups as $oGroup) { $aChildren = $oGroup->Shop_Groups->getGroupChildrenId(); $aChildren[] = $oGroup->id; $oInfSysItem = Core_Entity::factory('shop_item'); $oInfSysItem->queryBuilder() ->from("shop_items") ->where('shop_group_id', 'in', $aChildren) ->order('price') ->limit(1); $oInfSysItem = $oInfSysItem->findAll(); if (isset($oInfSysItem[0]) && $oInfSysItem = $oInfSysItem[0]) { $oXmlItem = Core::factory('Core_Xml_Entity')->name("group_min_price")->value($oInfSysItem->price)->addAttribute('id', $oGroup->id); $oXml->addEntity($oXmlItem); } } $Shop_Controller_Show->addEntity($oXml); //получаем минимальную цену товара для каждой группы </code> **Использование:** В xsl "МагазинКаталогТоваров", в шаблоне вывода групп используем следующий код для вывода минимальной цены: <code xml> <xsl:value-of select="format-number(/shop/groups_min_prices/group_min_price[@id=$id], '## ###', 'my')"/> </code> <wrap lo>Страницу создал Константин Сериков 06.02.17 в 15:40</wrap>
Save
Preview
Cancel
Edit summary
private/koding/hostcms/modules/shop/useful/minimum_price.txt
· Last modified: 30.06.17 в 15:48 by
Артем Куц
Page Tools
Show page
Old revisions
Export to PDF
Rename Page
Back to top