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

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

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

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

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

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

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

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

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

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

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

Довольно часто на проектах необходимо выполнить работу связанную с пользовательскими полями и дополнительными свойствами. Если на вашем сайте, сделанном на 1С-Битрикс, необходимо вывести такие поля, свяжитесь со мной по скайпу или напишите мне на почту.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года.Предоставляю услуги по созданию проектов на CMS 1С-Битрикс — сайты, шаблоны и компоненты с нуля, а также доработка функционала на уже существующих проектах.


Другие виды работ:

— Вёрстка макетов (HTML, CSS, JavaScript, jQuery, JADE, SASS, Gulp);

— Натяжка вёрстки на 1С-Битрикс;

— Скрипты на PHP и JS (jQuery);

— Парсинг (CSV, XML, XLSX, JSON);

— Интеграции со сторонними сервисами по API;

— Многоязычные версии сайтов;

— и многое другое :)


Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.

E-mail: dmitriyribka@gmail.com

Skype: cinemacreaterus


6 комментария

    1. Для элемента можно использовать обычные свойства (которые задаются в инфоблоке). Если хотите, вот пример для заголовков:

      $myNewTitle = $arResult[‘PROPERTIES’][‘TITLE_NEW’][‘VALUE’];
      if(!$arResult[‘PROPERTIES’][‘TITLE_NEW’][‘VALUE’]) {
      $myTitle = $arResult[‘NAME’].» купить в Москве «.$arResult[‘ID’];
      $APPLICATION->SetPageProperty(«title», «$myTitle»);
      } else {
      $APPLICATION->SetPageProperty(«title», «$myNewTitle»);
      }

      В шаблоне элемента мы задаем код «какой заголовок задать на странице». Не забудьте в настройках компонента выбрать «свойства на детальной странице» чтобы не грузить страницу лишними запросами, то есть — выбрать свойства которые используются на этой странице.

  1. Здравствуйте, Дмитрий! Скажите, пожалуйста, как добавить информацию на вкладку карточки товара? Внизу три вкладки — описание, которое можно править визуальным редактором, таблица размеров и отзывы. Хочу загрузить в таблицу размеров саму таблицу. Как это сделать в админке просто и быстро? Буду очень признательна за помощь!

      1. Дмитрий добрый день! Спасибо, отличный урок. Немогли бы подсказать пожалуйста, как решить такую задачу. Через компонент news.list выводятся элементы информационного блока медиагалерея в этом ИБ есть два раздела это фотогалерея и видеогалерея. Для этих разделов я добавил пользовательское поле UF_ICON. Теперь мне нужно получить значение этого пользовательского поля для каждого элемента. Воспользовался методом CIBlockSection::GetList, но получается вывести только значение пользовательского поля для одного элемента а нужно для всех. Вот код
        Код
        $iblock_id, ‘ID’ => $id_section), false, array(«ID»,»UF_PHOTO_ICON»), false);
        while($props_array = $section_props->GetNext()){
        $arResult[«SECTIONS_ID»] = $props_array[«ID»];
        }
        ?>

        1. Здравствуйте, извиняюсь что долго не отвечал, ваш комментарий почему-то залетел в спам =\ Этот вопрос еще актуален?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *