Проще будет в result_modifier.php организовать нужные правки в $arResult. Моё мнение такое: чем проще, тем лучше!
В шаблоне этого делать не стоит.
В шаблоне этого делать не стоит.
02.08.2013 09:44:46
Можно попробовать построить фильтр по ID значения списка:[B]
PROPERTY_<PROPERTY_CODE >[/B] - фильтр по значениям свойств, где PROPERTY_CODE - код свойства или мнемонический код. Для свойств типа "Список", "Число", "Привязка к элементам" и "Привязка к разделам" - Число. Тогда фильтр будет выглядеть: [CODE]$GLOBALS['arrsimilarflt'] = array( 'PROPERTY_FOR_SECTION' => ID_ЗНАЧЕНИЯ );[/CODE]Также нужно проверить имя массива для фильтрации, указанного в коде вызова компоненты. Оно должно соответствовать ключу $GLOBALS. |
|
|
01.08.2013 09:07:31
В шаблоне компоненты в файле template.php есть код вызова ShowBasketItems() в зависимости от результатов, возвращаемых компонентой:
[CODE]<script> <?if($arResult["ShowReady"] != "Y") { if($arResult["ShowDelay"] != "Y") { ?>ShowBasketItems(3);<? } else { ?>ShowBasketItems(2);<? } } ?> </script> [/CODE]Если в корзине все товары являются отложенными, то будут выведены отложенные. Если есть хотя бы один товар, доступный для оформления заказа, то будут выведены "готовые к заказу". |
|
|
31.07.2013 17:39:07
Возможно с template.php я поспешил, а для result_modifier.php можно воспользоваться следующей конструкцией:
[CODE]foreach ($arResult["ITEMS"] as $iKey => $arItem) { $bDeleting = true; //Если отсутсвуют цены непосредственно на сам товар if ((count($arItem["PRICES"]) > 0) || (is_array($arItem["PRICE_MATRIX"]))) $bDeleting = false; if (isset($arItem["OFFERS"])) foreach ($arItem["OFFERS"] as $arOffer) { //Если отсутствуют цены на торговые предложения для товара if (count($arOffer["PRICES"]) > 0) $bDeleting = false; } if ($bDeleting) unset($arResult["ITEMS"][$iKey]); } [/CODE] |
|
|