"Костыль" в моём ЖЖ (с помощью bitrix:catalog.section.list и bitrix:news.list), вдруг кому по-быстрому решить поможет задачу http://bagee.livejournal.com/66724.html
Спасибо, капитаны очевидности! То что можно вывести в шаблоне типо <?echo $arResult["SECTION"]["PATH"][0]["NAME"]?> это понятно всем, но у большинства программистов задачи шире... Как пример, вывести названия разделов и сравнить их с тем что передается, скажем, $_POST запросом. К сожалению, очевидными способами, о которых вы тут говорите этого не сделать. А теперь о том как сделать:
Код
<?
$infoblock = 13; // Инфоблок с id 13
$rs_Section = CIBlockSection::GetList(array('left_margin' => 'asc'), array('IBLOCK_ID' => $infoblock));
while ( $ar_Section = $rs_Section->Fetch() )
{
$ar_Resu[] = array( // собираем массив того, что нам нужно
'ID' => $ar_Section['ID'], // id раздела
'NAME' => $ar_Section['NAME'], // имя раздела (что нас собственно интересует)
'IBLOCK_SECTION_ID' => $ar_Section['IBLOCK_SECTION_ID'],
'IBLOCK_SECTION_ID' => $ar_Section['IBLOCK_SECTION_ID'],
'LEFT_MARGIN' => $ar_Section['LEFT_MARGIN'],
'RIGHT_MARGIN' => $ar_Section['RIGHT_MARGIN'],
'DEPTH_LEVEL' => $ar_Section['DEPTH_LEVEL'],
);
echo '<pre>'; print_r($ar_Resu); '</pre>'; // смотрим, что у нас собралось в массив, и можно смело пользоваться именами
}
?>
'asc'), array('IBLOCK_ID' => $infoblock));
while ( $ar_Section = $rs_Section->Fetch() )
{
$ar_Resu[] = array( // собираем массив того, что нам нужно
'ID' => $ar_Section['ID'], // id раздела
'NAME' => $ar_Section['NAME'], // имя раздела (что нас собственно интересует)
'IBLOCK_SECTION_ID' => $ar_Section['IBLOCK_SECTION_ID'],
'IBLOCK_SECTION_ID' => $ar_Section['IBLOCK_SECTION_ID'],
'LEFT_MARGIN' => $ar_Section['LEFT_MARGIN'],
'RIGHT_MARGIN' => $ar_Section['RIGHT_MARGIN'],
'DEPTH_LEVEL' => $ar_Section['DEPTH_LEVEL'],
);
echo ' '; print_r($ar_Resu); ' '; // смотрим, что у нас собралось в массив, и можно смело пользоваться именами
}
?>
Куда мне затолкать этот код чтобы вывести имя раздела на страницу???
'asc'), array('IBLOCK_ID' => $infoblock));
while ( $ar_Section = $rs_Section->Fetch() )
{
$ar_Resu[] = array( // собираем массив того, что нам нужно
'ID' => $ar_Section['ID'], // id раздела
'NAME' => $ar_Section['NAME'], // имя раздела (что нас собственно интересует)
'IBLOCK_SECTION_ID' => $ar_Section['IBLOCK_SECTION_ID'],
'IBLOCK_SECTION_ID' => $ar_Section['IBLOCK_SECTION_ID'],
'LEFT_MARGIN' => $ar_Section['LEFT_MARGIN'],
'RIGHT_MARGIN' => $ar_Section['RIGHT_MARGIN'],
'DEPTH_LEVEL' => $ar_Section['DEPTH_LEVEL'],
);
echo ' '; print_r($ar_Resu); ' '; // смотрим, что у нас собралось в массив, и можно смело пользоваться именами
}
?>
Куда мне затолкать этот код чтобы вывести имя раздела на страницу???
Куда хотите. Разделы будут лежать в массиве $ar_Resu. Вывести все значения
Код
<?
foreach ($ar_Resu as $section){
echo $section["NAME"];
}
?>
Или по ключу массива $ar_Resu вывести какой-то определенный раздел. Например:
Алексей Волжин написал: Куда хотите. Разделы будут лежать в массиве $ar_Resu.
Что то не получается может я не так делаю.. У меня на странице компонент новости он выводит содержимое радела инфоблока получая ID инфоблока через ссылку. Вот эту страницу открываю в режиме редактирования php перед компонентом новости толкаю этот код, в итоге у меня мало того что не выводит название, ну и компонент новости перестает выводить содержимое раздела инфоблока. Вэтой теме я описал что делаю, думал может хоть просто название раздела на страницу поставить тоже не выходит...
Алексей Волжин написал: То есть в мой код надо поставить этот инфоблок
Ну вот сижу зациклился на разделах инфоблока и упорно пишу туда код раздела инфоблока, а не самого инфоблока. Поставил свой, толку мало, вижу на странице только название страницы содержание раздела инфоблока теперь не выводится.
Алексей Волжин написал: То есть в мой код надо поставить этот инфоблок
Ну вот сижу зациклился на разделах инфоблока и упорно пишу туда код раздела инфоблока, а не самого инфоблока. Поставил свой, толку мало, вижу на странице только название страницы содержание раздела инфоблока теперь не выводится.
Что бы вывести названия раздела(далее оно указывается автоматически и не зависит от уровня вложенности разделов), в шаблоне catalog.section.list пропишите: