bitrix пользовательские поля разделов

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

Это будут свойства для хранения мета-тегов description и keywords . В панели управления переходим на страницу управления разделами и элементами инфоблока

И вызываем форму редактирования какого-нибудь раздела. Переходим на вкладку «Доп.поля»:

Создаем два поля:

  • UF_SECT_DESCR — для хранения мета-тега description
  • UF_SECT_KEYWRD — для хранения мета-тега keywords

Чтобы получить пользовательские поля в коде компонента:

Теперь можем установить значения мета-тегов для страницы раздела инфоблока — либо ниже по коду компонента:

либо в файле component_epilog.php , который никогда не кешируется:

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

Технология была создана в первую очередь для использования в компонентах, которые, как правило, выводятся в теле страницы, но при этом внутри них могут быть заданы заголовок страницы, добавлен пункт в навигационную цепочку, добавлена кнопка в панель управления и так далее. Отложенные функции нельзя использовать в файлах шаблона компонента template.php и result_modifier.php (так как результаты их выполнения кешируются).

Обратите внимание, что нативные компоненты Битрикс могут сами устанавливать мета-теги descriptoin и keywords . И тем самым переопределять значения, установленные в component_epilog.php . Вот типичный код нативного компонента:

Пользовательские поля других объектов

Пользовательское поле — инструмент, позволяющий добавлять к объектам системы поля, не предусмотренные штатным функционалом. Пользовательские поля могут создаваться в неограниченном количестве для каждого объекта. При выборе того или иного типа пользовательского поля становятся доступными дополнительные поля настройки для соответствующего типа.

Применение пользовательских полей в Битрикс в привязке к тем или иным модулям, задаётся с помощью объектов, которые необходимо указать при создании поля. Не все модули имеют объекты для пользовательских полей по умолчанию. Разработчик может создавать собственные объекты, но надо понимать, что в методах GetList() поддерживаются только системные объекты:

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

Как и про материал о 404 ошибке, о данной теме есть очень много чего почитать. Чтобы упростить вам жизнь и поиски, привожу рабочий вариант кода.

Расширяя свои разделы дополнительными полями, вы можете сильно увеличить их функционал и значительно дополнить недостающей информацией.

Лично передо мной встала задача кардинально изменить внешний вид общего списка категорий магазина, а для этого как раз я и прибег к дополнительным полям.

Создание пользовательского поля раздела в Bitrix

Итак, для того чтобы вам создать свое поле для раздела (категории), сделаем следующее.

2. В левом меню откройте раздел «Контент», а в появившейся навигации, в разделе «Каталог», нажмите на пункт «Каталог товаров».

3. После того, как у вас открылся список ваших разделов, вы жмете на иконку вызова меню, в котором выбираете пункт «Изменить».

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

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

5. После того, как в предыдущем шаге мы перешли по ссылке, у нас открылась форма добавления поля:

Что нас тут по большей части интересует?

  1. Тип – это тип вводимых данных. Если у вас простой текст, то рекомендую выбирать «Строка», если же у вас число или цена – для них тоже есть свои типы в выпадающем списке. Я делаю пример вывода дополнительного заголовка, поэтому я выберу тип «Строка».
  2. Объект. Это то, в каком разделе будет выводиться данное поле. В вашем случае, если вы перешли сюда по ссылке с раздела, будет заполнено автоматически.
  3. Код поля. Уникальное имя вашего поля (может содержать только A-Z, 0-9 и _). Обязательно запомните это имя, так как оно потребуется нам для вывода.
  4. Сортировка – порядок вывода поля в общем списке полей раздела.
  5. Значение по умолчанию – то значение, которое будет заполнено по умолчанию при создании каждого нового раздела.
  6. Количество строк. Если у вас поле предназначено для заголовка, то лучше всего ставьте «1», если оно служит для заполнения, например, описания – то выставьте «10» или другое удобное для вас количество строк.
  7. Минимальная/Максимальная длина строки – поля для определения граничных условий длины данных поля. Очень полезная вещь, когда вы задаете некую маску. Например, индекс в России шестизначный, отсюда минимальное и максимальное значение будет «6».

Помимо этого, ниже есть блок языковых настроек (он не убрался на скриншоте). Там вы задаете название поля, которое будет отображаться в списке полей, а также подсказку по его заполнению в разделе. Сложного ничего нет, думаю, сообразите. Остальные параметры я здесь не рассматриваю, так как того, что описано в статье, вам вполне хватит. Если почему-то у вас остались вопросы – задавайте их в комментариях.

После того, как необходимое поле задано – жмете «Сохранить» или «Применить». В случае, если ошибок никаких не возникло, ваше поле будет успешно задано и оно будет отображаться в соответствующей вкладке на странице редактирования раздела, о чем я писал ранее.

Можете заполнить ваши поля нужной информацией, а дальше мы поговорим о том, как вывести эти самые поля.

Вывод пользовательского поля раздела в Bitrix

Теперь логично перейти к выводу созданных ранее нами полей. Все изменения мы будем совершать в теме сайта.

1. Подключитесь к вашему сайту по FTP.

2. Откройте файл, отвечающий за вид разделов. У меня это был файл template.php в папке /bitrix/templates/pandoge_com/components/bitrix/catalog.section.list/sections_list/, где «pandoge_com» – название моей темы. В вашем же случае иерархия папок может немного отличаться.

В нем, в нужном вам месте, вы используете следующую конструкцию внутри перебора массива:

И, соответственно, пример вывода одного поля:

На что здесь нужно обратить внимание?

1. Переменные $arItems[«IBLOCK_ID»] и $arItems[«ID»] в коде должны возвращать вам ID инфоблока и раздела соответственно. Проверяйте отдельно возвращаемые результаты переменных через «echo» или «var_dump».

2. UF_DOP_TITLE – это имя вашего поля, которое вы задавали при создании в 3-м пункте. Если вдруг вы не записали название поля, то узнать его вы можете следующим образом.

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

На этом, собственно, и все. Вывод полей на самом деле простой, главное – это корректное возвращение данных переменными и заданное имя вашего поля. Если какие моменты показались вам не совсем понятными – не стесняйтесь и спрашивайте об этом в комментариях под данной статьей.

Оцените статью