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

Как в хэдере статей отображать навание раздела?

00 голосов
4
Суть в том что есть инфоблок "Статьи" в нем 10 разделов.
в section.php?IBLOCK_ID=29&SECTION_ID=230 отображаются анонсы статьей раздела (Title тут у нас - это название раздела)
в element.php?IBLOCK_ID=29&SECTION_ID=230&ELEMENT_ID=1819 здесь в тайтле отображается название статьи, а хотелось бы название раздела. Отсюда и вопрос как осуществить отображение навания раздела в тайтле?
если указать $APPLICATION->SetTitle("навание разела"); то динамически оно менятья не будет smile:( а хотелось бы, что бы в зависимости от раздела навание менялось.
спросил 04 Фев, 14 от Tarodar (100 баллов)

4 Ответы

00 голосов
Добрый день!Если я вас правильно понял,то проблему можно решить таким способом:в element.php вы получаете на выходе массив arResult,в нем есть поле ["IBLOCK_SECTION_ID"]-ID раздела,в котором находиться элемент,далее в коде пишите $Peremennaja=GetIBlockSection($arResult["IBLOCK_SECTION_ID"]);
$APPLICATION->SetTitle($Peremennaja["NAME"]);
Вот как то так,если я не правильно понял суть проблемы,поправьте меня.
ответил 12 Июнь, 14 от Kurenaii (100 баллов)
00 голосов
Цитата
Артем Куликов пишет:
Добрый день!Если я вас правильно понял,то проблему можно решить таким способом:в element.php вы получаете на выходе массив arResult,в нем есть поле ["IBLOCK_SECTION_ID"]-ID раздела,в котором находиться элемент,далее в коде пишите $Peremennaja=GetIBlockSection($arResult["IBLOCK_SE­CTION_ID"]);
$APPLICATION->SetTitle($Peremennaja["NAME"]);
Вот как то так,если я не правильно понял суть проблемы,поправьте меня.


Суть понял правильно, предложение вроде тоже правильное, но вот что-то не работает, выдает smile:( выдает:

Fatal error: Call to undefined function GetIBlockSection() in /var/www/test2.kanzelaria.ru/rubrics/element.php on line 5

Я уж даже пробовал $Peremennaja=GetIBlockSection($_REQUEST[SECTION_ID]);
$APPLICATION->SetTitle($Peremennaja["NAME"]);
ответил 10 Окт, 14 от Tarodar (100 баллов)
00 голосов
Цитата
Виталий Лобачев пишет:
Суть понял правильно, предложение вроде тоже правильное, но вот что-то не работает, выдает выдает:
Fatal error: Call to undefined function GetIBlockSection() in /var/www/test2.kanzelaria.ru/rubrics/element.php on line 5
Я уж даже пробовал $Peremennaja=GetIBlockSection($_REQUEST[SECTION_ID­]);
$APPLICATION->SetTitle($Peremennaja["NAME"]);


Заработало, но только после того как переместил код ниже вывода компонета новостей.
Т.е.
Так не работает:
$arSection = GetIBlockSection($_REQUEST[SECTION_ID]);
$APPLICATION->SetTitle("$arSection[NAME]");

$APPLICATION->IncludeComponent("bitrix:news.detail", "template1", Array( ....
....)
);

А вот так работает:
$APPLICATION->IncludeComponent("bitrix:news.detail", "template1", Array( ....
....)
);
$arSection = GetIBlockSection($_REQUEST[SECTION_ID]);
$APPLICATION->SetTitle("$arSection[NAME]");
ответил 11 Фев, 15 от Tarodar (100 баллов)
00 голосов
Функция определяется в модуле Информациооных блоков.
Если включите кеширование, опять перестанет работать.
Вот решение:
Код
if(CModule::IncludeModule("iblock"))
{
$arSection = GetIBlockSection($_REQUEST[SECTION_ID]);
$APPLICATION->SetTitle("$arSection[NAME]");
}
ответил 23 Май, 15 от Miso (740 баллов)

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

0 голосов
2 ответов
спросил 18 Апр, 14 от Tarodar (100 баллов)
0 голосов
6 ответов
0 голосов
6 ответов
0 голосов
3 ответов
спросил 09 Март, 14 от 4ydo (100 баллов)
0 голосов
2 ответов