@JustFeeLin
Начинающий веб-мастер

Как закрыть определенную ссылку в меню от индексации?

Спасибо, что уделили время моему вопросу!

Ситуация следующая.
Опыта работы с Bitrix, к сожалению, нету - только учусь

Поставили задачу: часть меню на всех страницах, кроме главной, необходимо закрыть в noindex (определенные пункты).
Меню выводится через инструменты битрикса.
Как это реализовать?

Если бы выводилась статика через обычный html - вопросов нет...

Подумывал о том, чтобы через расширенные параметры задать класс этим пунктам, а потом в выводе компонента делать проверку сперва на активную страницу (если не Главная), а потом на наличие класса у ссылки и выводить уже вариант с обернутым в noindex пунктом списка.
  • Вопрос задан
  • 772 просмотра
Решения вопроса 1
@JustFeeLin Автор вопроса
Начинающий веб-мастер
Большое спасибо всем за ответы!
От лишнего кода Битрикса не чистил, так как сайт был просто для теста создан.

Если кто подкинет идею, как еще эту махину оптимизировать (в плане проверок), буду премного благодарен!

Совместил все, что было написано, и получил следующее (работает так, как мне нужно):

<?if (!empty($arResult)):?>
	<?if ($APPLICATION->GetCurPage(false) === '/'):?>
	 <div class="topmenu main"><ul>


			<?foreach($arResult as $arItem):?>
				<?if($arItem["SELECTED"]):?>
					<li class="selected"><b class="r1"></b><b class="r0"></b><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a><b class="r0"></b><b class="r1"></b></li>
				<?else:?>
					<li><b class="r1"></b><b class="r0"></b><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a><b class="r0"></b><b class="r1"></b></li>
				<?endif?>

			<?endforeach?>
		</ul>
	</div>	

<?else:?>
	<div class="topmenu"><ul>
			<?foreach($arResult as $arItem):?>
				<?if($arItem["SELECTED"]):?>
					<li class="selected"><b class="r1"></b><b class="r0"></b><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a><b class="r0"></b><b class="r1"></b></li>
				<?elseif ($arItem['PARAMS']['noindex'] === true):?>
					<li><b class="r1"></b><b class="r0"></b><noindex><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a></noindex><b class="r0"></b><b class="r1"></b></li>
				<?else:?>
					<li><b class="r1"></b><b class="r0"></b><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a><b class="r0"></b><b class="r1"></b></li>
				<?endif?>

			<?endforeach?>
		</ul>
	</div>	
<?endif?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
В массив меню добавьте параметр в PARAMS, к примеру так:

<?php
$aMenuLinks = Array(
    Array(
        "Пункт меню",
        "/link/",
        Array(), 
        Array(
            'noindex' => true,
        ),
        "" 
    ),
);


В шаблоне компонента остается проверить, если $arItem['PARAMS']['noindex'] === true, то оборачиваем ссылку в .
Ответ написан
if ($APPLICATION->GetCurPage(false) === '/') {
//вывод на главную
} else {
//на все остальные страницы
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы