Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Помогите с заголовком в меню

00 голосов
7
Понимаю, что вопрос совершенно нубский :(

Мне надо добавить в стандартное меню раздела заголовок, который бы менялся в зависимости от названия раздела, но я в PHP полный ноль, к сожалению. Может кто помочь, плз?

Картинки прилагаются:
Рисунок

Код компонента:
Код
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>

<?if (!empty($arResult)):?>

<ul class="left-menu">

<?
foreach($arResult as $arItem):
   if($arParams["MAX_LEVEL"] == 1 && $arItem["DEPTH_LEVEL"] > 1) 
      continue;
?>
   <?if($arItem["SELECTED"]):?>
      <li><a href="<?=$arItem["LINK"]?>" class="selected"><?=$arItem["TEXT"]?></a></li>
   <?else:?>
      <li><a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a></li>
   <?endif?>
   
<?endforeach?>

</ul>
<?endif?>
спросил 13 Янв, 13 от StRanger (340 баллов)

7 Ответы

00 голосов
Никто не поможет? Там добавить надо пару строчек всего, но я не знаю каких :(
ответил 14 Янв, 13 от StRanger (340 баллов)
00 голосов
Если на сайте где-то выше по коду выводится главное меню, то в его шаблон можно добавить строчки
Код
<?if ($arItem["DEPTH_LEVEL"]==1 && $arItem["SELECTED"]):?>
<?$GLOBALS["TOP_MENU_NAME"] = $arItem["NAME"]?>
<?endif?>

затем вывести это значение в меню раздела
Код
<?if($GLOBALS["TOP_MENU_NAME"]) echo $GLOBALS["TOP_MENU_NAME"];?>
ответил 15 Янв, 13 от Ahbar (820 баллов)
00 голосов
Проблема в том, что главное меню идёт после меню раздела по коду :(

Наверняка же есть имена переменных, в которых хранятся названия разделов... Хлебные крошки, карта сайта как-то же формируется
ответил 22 Янв, 13 от StRanger (340 баллов)
00 голосов
Имя хранится в файле .section.php соответствующего раздела.
Как вариант можно выделить из пути адрес родительского раздела, подключить его .section.php и тогда в переменной $sSectionName будет название
ответил 14 Июль, 13 от Ahbar (820 баллов)
00 голосов
Алексей, если не сложно, то можно как-то более предметно это написать? Дело в том, что
Цитата
UniQ_On пишет:
в PHP полный ноль, к сожалению

Поэтому вот этот Ваш пост:
Цитата
Алексей Валеев пишет:
Имя хранится в файле .section.php соответствующего раздела.

Как вариант можно выделить из пути адрес родительского раздела, подключить его .section.php и тогда в переменной $sSectionName будет название

для меня всё-равно, что шифровка Штирлица в Центр :(
ответил 19 Окт, 13 от StRanger (340 баллов)
00 голосов
Не ручаюсь за адекватность кода, но можно так (при условии что всегда нужно название раздела 2го уровня)
Код
if(preg_match('#/(.+?)/#is',$APPLICATION->GetCurDir(),$arMatches))
   if (file_exists($_SERVER['DOCUMENT_ROOT'].$arMatches[0].".section.php")) {
      include $_SERVER['DOCUMENT_ROOT'].$arMatches[0].".section.php";
      echo $sSectionName;
   }

Добавлять в шаблон компонента.
echo $sSectionName соответственно выводит название раздела..
ответил 22 Янв, 14 от Ahbar (820 баллов)
00 голосов
Спасибо огромное, Алексей!

Всё получается супер, а на главную страницу я назначу отдельный шаблон, где заголовок меню будет прописан просто словами.
ответил 10 Май, 14 от StRanger (340 баллов)

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

0 голосов
1 ответ
спросил 28 Июль, 15 от аноним
0 голосов
1 ответ
спросил 30 Авг, 13 от Daltazar (280 баллов)
0 голосов
1 ответ
спросил 06 Июль, 13 от smekte (120 баллов)
0 голосов
6 ответов
спросил 16 Сен, 13 от Amilan (260 баллов)
0 голосов
1 ответ