Здравствуйте, дорогие читатели! Битрикс позволяет создавать собственные поля и свойства для элементов и разделов. Вывод свойств элементов, как правило, уже прописал в дефолтных шаблонах компонентов, а вот пользовательские свойства надо прикручивать ручками.
Как и про материал о 404 ошибке, о данной теме есть очень много чего почитать. Чтобы упростить вам жизнь и поиски, привожу рабочий вариант кода.
Я его использовал в файле template.php шаблона catalog.section.list для вывода поля с дополнительным описанием раздела.
<? $rsResult = CIBlockSection::GetList(array("SORT" => "ASC"), array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "ID" =>$arResult["SECTION"]["ID"]), false, $arSelect = array("UF_*")); // Возвращаем список разделов с нужными нам пользовательскими полями. UF_* - в таком виде выведет все доступные для данного раздела поля. // $arParams["IBLOCK_ID"] - у вас может быть получением ID инфоблока другим способом // $arResult["SECTION"]["ID"] - и ID раздела тоже, проверяйте через print_r($arResult); if($arSection = $rsResult -> GetNext()) { $arResult["SECTION_USER_FIELDS"]["UF_RAZDEL_DESC"] = $arSection["UF_RAZDEL_DESC"]; $arResult["SECTION_USER_FIELDS"]["UF_RAZDEL_TITLE"] = $arSection["UF_RAZDEL_TITLE"]; } // создаем переменные с содержимым наших пользовательских полей if($arResult["SECTION_USER_FIELDS"]["UF_RAZDEL_DESC"] OR $arResult["SECTION_USER_FIELDS"]["UF_RAZDEL_TITLE"]) { echo '<h1>'.$arResult["SECTION_USER_FIELDS"]["UF_RAZDEL_TITLE"].'</h1>'; echo $arResult["SECTION_USER_FIELDS"]["UF_RAZDEL_DESC"].'<br/>'; } // выводим содержимое полей, если оно присутствует ?>
Сначала я пробовал просто вывести переменные в массиве $arResult, но в итоге он, видимо, переопределился, и из него пропали все остальные поля. Поэтому внутри этого массива я создал новый — [«SECTION_USER_FIELDS»], — и уже в него поместил значения пользовательских полей.
Полезную информацию о выводе разделов можно почерпнуть в документации: http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblocksection/getlist.php