vinogadovsergey
@vinogadovsergey
Интернет-предприниматель

Как сделать вывод названия раздела в хлебных крошках в битрикс?

Здравствуйте!

Есть проблема с хлебными крошками на битриксе: в пунктах выводятся названия из h1 поля раздела. А поскольку они длинные достаточно, получается некрасиво: prntscr.com/fur02l

Как мне вывести в пунктах просто название раздела отсюда prntscr.com/fur0vu

Код ниже:

<?
use \Yenisite\Core\Catalog;

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();
CModule::IncludeModule('yenisite.core');
//delayed function must return a string
if (empty($arResult))
	return "";
global $rz_b2_options, $rz_current_sectionID;
$bShowBacknav = ($rz_b2_options['backnav_enabled'] == 'Y') && (int)$rz_current_sectionID > 0;
$strReturn = '<div class="breadcrumbs-content"><ul class="b-list" itemscope itemtype="http://schema.org/BreadcrumbList">';
$strReturn .= '<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">';
$strReturn .= '<a href="' . SITE_DIR . '"><i class="flaticon-home1"></i><meta itemprop="name" content="' . SITE_SERVER_NAME . '" /></a>';
$strReturn .= '<i class="separator flaticon-right20"></i> <meta itemprop="position" content="1" /></li> ';
$num_items = count($arResult);
$strBacknav = '';
for ($index = 0, $itemSize = $num_items; $index < $itemSize; $index++) {
	$arSiblings = array();
	if ($bShowBacknav) {
		$arSiblings = Catalog::getChainSiblings($rz_current_sectionID, $arResult[$index]["LINK"]);
	}
	$title = htmlspecialcharsex($arResult[$index]["TITLE"]);

	if ($arResult[$index]["LINK"] <> "" && $index != $itemSize - 1) {
		$strReturn .= '<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">';
		$strReturn .= '<a itemprop="item" href="' . $arResult[$index]["LINK"] . '" title="' . $title . '"';
		if ($arSiblings) {
			$strReturn .= ' data-popup="^.breadcrumbs-content>.backnav.backnav_'. $index .'"';
			$strBacknav .= '<ul class="backnav backnav_' . $index . '">';
			$backnavIndex = 0;
			$j = 0;
			foreach ($arSiblings as $arSibling) {
				if($arSibling['LINK'] == $arResult[$index]['LINK']) {
					$backnavIndex = $j;
				}
				$strBacknav .= '<li><a href="' . $arSibling["LINK"] . '">' . $arSibling["NAME"] . '<i class="flaticon-arrow492 arrow arrow-up"></i></a></li>';
				++$j;
			}
			$strBacknav .= '</ul>';
			$strReturn .=' data-backnav="' . $backnavIndex . '"';
		}
		$strReturn .= '><span itemprop="name">' . $title . '</span><i class="flaticon-arrow486 arrow arrow-down"></i></a><i class="separator flaticon-right20"></i>';
		$strReturn .= '<meta itemprop="position" content="' . ($index + 2) . '" />';
		$strReturn .= '</li> ';
} else {
		$strReturn .= '<li><span>' . $title . '</span></li>';
	}
}

$strReturn .= '</ul>' . $strBacknav .'</div>';

return $strReturn;
  • Вопрос задан
  • 2202 просмотра
Пригласить эксперта
Ответы на вопрос 2
OlegMifle
@OlegMifle
php-программист
В настройках компонента отключить вывод в хлебных крошках элемента и добавить его туда самому через AddChainItem с нужным тебе названием.
Ответ написан
Комментировать
Dima_So
@Dima_So
Experientia est optima magistra
Попробуйте заменить строку
$strBacknav .= '<li><a href="' . $arSibling["LINK"] . '">' . $arSibling["NAME"] . '<i class="flaticon-arrow492 arrow arrow-up"></i></a></li>';
        ++$j;

НА
$strBacknav .= '<li><a href="' . $arSibling["LINK"] . '">'.$title.'<i class="flaticon-arrow492 arrow arrow-up"></i></a></li>';
        ++$j;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы