| Цитата |
|---|
Максим Рукомойников пишет: Не совсем, в таком случае любой сторонний код - костыли? На мой обывательский взгляд "костыли" - означает решение несоответствующее общепринятым или личным требованиям качестваж, но тем не менее, в силу определенных причин выбрано как правильное. |
Давайте не будем спорить. Вам дали единственное верное решение. Если подробно:
Добавляем в шаблон файл 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"];
}
} |
Добавляем component_epilog.php:
| Код |
|---|
<? if(is_array($arResult["SECTION"]))
{
foreach($arResult["SECTION"]["PATH"] as $arPath)
{
$APPLICATION->AddChainItem($arPath["NAME"], $arPath["~SECTION_PAGE_URL"]);
}
}
$APPLICATION->AddChainItem($arResult["NAME"]);
?> |
| Цитата |
|---|
Максим Рукомойников пишет: Что такое цепочка? Хорошо правд ведь всегда больше чем 2? Мне кажется, цепочка в том числе и должна отражать "последнюю милю".Не буду вдаваться в подробности почему.) Но количество вопросов на эту тему подтверждает, что я такой далеко не один. |
Это придумали SEO-шники, чтобы повысить вес ключевых слов. Навигационная цепочка так и называется, т.е. для навигации, а зачем в ней ссылка на саму себя? Для этого есть заголовок.
| Цитата |
|---|
Максим Рукомойников пишет: Теоретически если добавлять после вызова компонента, то нет и возможности использовать массив значений от компонента. Так?) |
Это вы про component_epilog.php? Не совсем так, он будет не доступен, если при включенном кешировании не добавить, то что вам нужно в кеш.
В приведенном выше примере "SECTION" уже добавлен в кеш.