Если в вашем инфоблоке богатая структура, а именно — есть и элементы и разделы, то рано или поздно вам захочется вывести свойство, которое привязано к конкретному разделу. Сделать это можно несколькими способами, но мы рассмотрим только вывод через пользовательские свойства.

Как добавить и вывести дополнительные поля и свойства раздела в 1С-Битрикс

Чтобы это сделать, зайдите в админку, на нужном разделе нажмите «Изменить» или кликните по его ID (стоит отметить, если вы кликните по имени раздела, вы перейдете в сам раздел).

Отлично, мы в настройках раздела. На последней вкладке Доп. свойства мы и создадим наше пользовательское свойство, кликаем на Добавить пользовательское свойство (если у вас ее нету, не забудьте сбросить ваши настройки формы — делается это тут же, кликните на синюю шестеренку и отмените настройки).

Теперь нам необходимо создать поле. Самым популярным типом является строка, меняем наш тип (по умолчанию Видео) на Строка. Самое важное задать понятный Код поля — ну, например, это может быть UF_TITLE или UF_SECTION_DESC — этот код нам в дальнейшем пригодится для вывода, поэтому желательно давать осмысленные названия.

Кстати говоря, приставку UF_ рекомендуется оставить, так как другим разработчикам будет более понятней что мы пытаемся вывести, да и вам самим тоже. В самом низу формы создания поля, после того как мы придумали ему имя и задали тип, мы пишем ему название на русском и английском (для админки).

1С-Битрикс как вывести пользовательские поля разделов

Поле мы создали, осталось понять как его вывести на сайте. Для начала заполните на каком-то разделе эти свойства (я создам 3 поля для мета свойств), после чего переходим на этот раздел на нашем сайте. Если нам необходимо выводить эти свойства динамически (ID раздела будет меняться в зависимости от того, на каком разделе мы сейчас находимся), то заходим в наш код компонента (новости это или каталог) и где-нибудь в начале кода или в самом конце пишем:

<?$fSections = CIBlockSection::GetList(
false,
Array("IBLOCK_ID" => 14, "ID" => $arResult ['ID'], "ACTIVE"=>"Y", "GLOBAL_ACTIVE"=>"Y", "SECTION_ACTIVE" => "Y"),
false,
Array("UF_TITLE", "UF_KEYWORDS", "UF_DESCRIPTION),
false
);
$flSections = $fSections->Fetch();
if (
$flSections['UF_TITLE']) {
$APPLICATION->SetPageProperty("title", $flSections['UF_TITLE']);
}?>

Тут мы задаем ID инфоблока «IBLOCK_ID» => 14, и подхватываем наш динамический ID раздела «ID» => $arResult [‘ID’]. В массиве, который отвечает за выбор полей для отображения, мы выводим 3 наших только что созданных свойства типа строка «UF_TITLE», «UF_KEYWORDS», «UF_DESCRIPTION».

Кстати, если вы еще не читали про CIBlockSection::GetList, советую глянуть эту статью, возможно вы узнаете для себя много интересного. О том, как вывести остальные наши 2 свойства и просто работать с мета данными, вы можете прочитать в статье Как задавать мета свойства в 1С-Битрикс.

Источник: http://forwww.com/how-to-add-and-display-property-1c-bitrix/

⤧  Next post Как получить путь к изображению в 1C-Битрикс ⤧  Previous post Битрикс: как узнать список разделов и элементов