Создание сайтов на 1С-Битрикс

Если в поиске bitrix search.page не полные хлебные крошки (breadcrumbs)

Если в хлебных крошках не хватает разделов пути (для обычных инфоблоков или для сообщений форума#

Чтобы сделать на странице поиска хлебные крошки "полными" - со всеми разделами, нужно просто добавить в папку компонента файл result_modifier.php с таким содержимым:

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

if(CModule::IncludeModule('iblock')) {
	foreach ($arResult["SEARCH"] as $nItem => $arItem) {
	    if ($arItem["MODULE_ID"] == "iblock") {
	        $rsElement = CIBlockElement::GetByID($arItem["ITEM_ID"]);
	        if ($arElement = $rsElement->GetNext()) {
	            $rsNav = CIBlockSection::GetNavChain($arElement["IBLOCK_ID"], $arElement["IBLOCK_SECTION_ID"]);
	            while ($arSectionPath = $rsNav->GetNext()) {
	                $arItem["CHAIN_PATH"] .= ' / <a href="'.$arSectionPath["SECTION_PAGE_URL"].'">'.$arSectionPath["NAME"].'</a>';
	            }
	            $arResult["SEARCH"][$nItem] = $arItem;
	        }
	    } else if($arItem["MODULE_ID"] == "forum") {
	    	$addChain = '';
	    	if (CModule::IncludeModule("forum")) {
		    	if($arItem['PARAM1']) {
			    	$arForum = CForumNew::GetByID($arItem['PARAM1']);
					if ($arForum)
					{
						if ($arForum['FORUM_GROUP_ID']) {
							$arGroup = CForumGroup::GetLangByID($arForum['FORUM_GROUP_ID'], LANGUAGE_ID);
							if ($arGroup)
							{
								$addChain .= ' / <a href="/forum/group'.$arGroup["FORUM_GROUP_ID"].'/">'.$arGroup["NAME"].'</a>';
							}
						}
						$addChain .= ' / <a href="/forum/forum'.$arForum["ID"].'/">'.$arForum["NAME"].'</a>';
					}
				}
				$arResult["SEARCH"][$nItem]['CHAIN_PATH'] .= $addChain;
			}
	    }
	}
}

Также улучшаются хлебные крошки для форума / сообщений форума.
На здоровье )))

Скачать:

Логотип SiteBERG
Изменено: 28.04.2026 04:36

Статьи

Что нужно сделать?