@SergioMarquinha

Как убрать наследование разделов инфоблока в Битриксе?

Нужно вывести описание раздела. У каждого оно свое.
Проблема в том, что внутренние разделы наследуются от верхнего, из-за чего не получается вывести нормально, не знаю как можно это поправить

result_modifier.php:

<?

$arFilter = Array("IBLOCK_ID"=>14); 
$db_list = CIBlockSection::GetList(Array("SORT"=>"ASC"), $arFilter, false);  
while ($arr = $db_list->GetNext()) { 
    $arResult["SECTION"]["PATH"][$arr["ID"]]["DESCRIPTION"] = $arr["DESCRIPTION"]; 
} 
?>


template.php - компонент news_list

$rsSections = CIBlockSection::GetList(array(),array('IBLOCK_ID' => $arParams ['IBLOCK_ID'], '=CODE' => $arResult['VARIABLES']['SECTION_CODE']));
if ($arSection = $rsSections->Fetch())
{
echo $arSection['ID'];
}


$currentSectionID = $arSection['ID']; 

if(isset($arResult["SECTION"]["PATH"][$currentSectionID]["DESCRIPTION"])) {
    $description = $arResult["SECTION"]["PATH"][$currentSectionID]["DESCRIPTION"];
    echo $description;
} else {
    echo "Описание раздела не найдено.";
}


При попытке получить id текущего раздела, выводит id родительского. Надеюсь на помощь!

P.S
В публичной части Битрикса действительно указан родительский раздел, если нажать на "изменить раздел", хотя я нахожусь во внутреннем разделе. Вообще не понятно..
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@SergioMarquinha Автор вопроса
Задача выполнена немного странным способом (извлечение символьного кода из пути), и по нему находим id.

$url = $APPLICATION->GetCurDir();
$path = parse_url($url, PHP_URL_PATH);
$code = basename($path);

$arFilter = array(
    "IBLOCK_ID" => "14",
    "=CODE" => $code
);

$arSelect = array(
    "ID"
);
$rsSections = CIBlockSection::GetList(array(), $arFilter, false, $arSelect);
if ($arSection = $rsSections->Fetch()) {
    $sectionId = $arSection["ID"];
} 

$currentSectionID = $sectionId; 

if(isset($arResult["SECTION"]["PATH"][$currentSectionID]["DESCRIPTION"])) {
    $description = $arResult["SECTION"]["PATH"][$currentSectionID]["DESCRIPTION"];
    echo $description;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы