Цитата |
---|
Максим Рукомойников пишет: Не совсем, в таком случае любой сторонний код - костыли? На мой обывательский взгляд "костыли" - означает решение несоответствующее общепринятым или личным требованиям качестваж, но тем не менее, в силу определенных причин выбрано как правильное. |
Добавляем в шаблон файл result_modifier.php для сбора разделов, т.к. при отключенной опции "ADD_SECTIONS_CHAIN" они не собираются
Код |
---|
if ('Y'!=$arParams["ADD_SECTIONS_CHAIN"] && intval($arResult["IBLOCK_SECTION_ID"])>0 && CModule::IncludeModule('iblock')) { $arResult["SECTION"]["PATH"]=array(); $rsPath = CIBlockSection::GetNavChain($arResult["IBLOCK_ID"], $arResult["IBLOCK_SECTION_ID"]); while($arPath=$rsPath->GetNext()) { $arResult["SECTION"]["PATH"][] = $arPath; $arResult["SECTION_URL"] = $arPath["~SECTION_PAGE_URL"]; } } |
Код |
---|
<? if(is_array($arResult["SECTION"])) { foreach($arResult["SECTION"]["PATH"] as $arPath) { $APPLICATION->AddChainItem($arPath["NAME"], $arPath["~SECTION_PAGE_URL"]); } } $APPLICATION->AddChainItem($arResult["NAME"]); ?> |
Цитата |
---|
Максим Рукомойников пишет: Что такое цепочка? Хорошо правд ведь всегда больше чем 2? Мне кажется, цепочка в том числе и должна отражать "последнюю милю".Не буду вдаваться в подробности почему.) Но количество вопросов на эту тему подтверждает, что я такой далеко не один. |
Цитата |
---|
Максим Рукомойников пишет: Теоретически если добавлять после вызова компонента, то нет и возможности использовать массив значений от компонента. Так?) |
В приведенном выше примере "SECTION" уже добавлен в кеш.
Прекрасная жизнь начинается с прекрасных мыслей...