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

Добавить номер странички в titile

00 голосов
3
Имеется такой кусок код (находится в system.pagenavigation):
Код
<?
$a_1 = $arResult["NavPageCount"];
$a_2 = $arResult["NavPageNomer"];
$a_3 = $arResult["NavNum"];
$operand_1 = $a_1 - $a_2;
$operand_2 = $operand_1 + $a_3;

if ($operand_2 > 1)
{$tr = " - ";$str = " стр.";$operand_2;}else{unset($operand_2);}
$kantstovar="Канцтовары: ";
$link = $_SERVER['REQUEST_URI'];
$name = 838;

if(CModule::IncludeModule("iblock") && ($arIBlockSection = GetIBlockSection($name)))
{
   $arIBlockSection["NAME"];
}
$APPLICATION->SetTitle($kantstovar.$arIBlockSection["NAME"].$tr.$operand_2.$str );


В переменной $name передается код раздела. Раннее я получал URL страницы и обрезал получая переменную "SECTION_ID", сейчас я включил поддержку ЧПУ и соответственно формирую URL на основании символьного кода и у меня в URL теперь нету переменной "SECTION_ID", но есть символьный код раздела. Помогите и подскажите, как добиться того, что бы переменной "$name" присвоить значение кода раздела при себе имея символьный код...
спросил 23 Фев, 14 от nick2100 (120 баллов)

3 Ответы

00 голосов
странный конечно подход и непонятно, для чего это делается
ведь в компоненте, который работает на ЧПУ, наверняка у там есть все необходимые данные
почему бы не доверить установку заголовка именно компоненту, разместив
$APPLICATION->SetTitle в component_epilog.php?

В вашем же случае можно вместо GetIBlockSection
использовать GetList с фильтром по коду секции
http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getlist.php
получите все необходимые параметры секции, в том числе и NAME
и используйте их
ответил 25 Июль, 14 от jenia (1,500 баллов)
00 голосов
а можно подробнее...
ответил 28 Ноя, 14 от nick2100 (120 баллов)
00 голосов
подробнее для какого случая? для компонента или для вашего кода?
если для компонента, то напишите, какой компонент вы используете. Комплексный каталог?

для вашего случая:
у вас уже есть код элемента. Пусть он находится в переменной $name
код может выглядеть примерно так:
Код
if (CModule::IncludeModule("iblock"))
{
 $arFilter = Array('CODE'=>$name);  
 $db_list = CIBlockSection::GetList(Array(), $arFilter, false);  
 if($ar_result = $db_list->GetNext())  
 {    
  $APPLICATION->SetTitle($kantstovar.$ar_result["NAME"].$tr.$operand_2.$str );
 }
}


работоспособность кода не проверена. написано "на коленке"
ответил 23 Март, 15 от jenia (1,500 баллов)

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

0 голосов
2 ответов
спросил 15 Апр, 14 от Snezhka (2,240 баллов)
0 голосов
5 ответов
спросил 16 Дек, 13 от Dwarkin (100 баллов)
0 голосов
0 ответов
0 голосов
1 ответ