Битрикс позволяет создавать пользовательские свойства для элементов инфоблока и пользовательские поля для разделов инфоблока, кроме тех, что доступны изначально. Давайте создадим два пользовательских поля для разделов инфоблока и посмотрим, как их можно получить, чтобы в дальнейшем использовать в шаблоне.
Это будут свойства для хранения мета-тегов description и keywords . В панели управления переходим на страницу управления разделами и элементами инфоблока
И вызываем форму редактирования какого-нибудь раздела. Переходим на вкладку «Доп.поля»:
Создаем два поля:
- UF_SECT_DESCR — для хранения мета-тега description
- UF_SECT_KEYWRD — для хранения мета-тега keywords
Чтобы получить пользовательские поля в коде компонента:
Теперь можем установить значения мета-тегов для страницы раздела инфоблока — либо ниже по коду компонента:
либо в файле component_epilog.php , который никогда не кешируется:
Отложенные функции — технология, позволяющая задавать заголовок страницы, пункты навигационной цепочки, CSS стили, дополнительные кнопки в панель управления, мета-теги и т.п. с помощью функций, используемых непосредственно в теле страницы. Соответствующие результаты работы этих функций выводятся в прологе, то есть выше по коду, чем они были заданы.
Технология была создана в первую очередь для использования в компонентах, которые, как правило, выводятся в теле страницы, но при этом внутри них могут быть заданы заголовок страницы, добавлен пункт в навигационную цепочку, добавлена кнопка в панель управления и так далее. Отложенные функции нельзя использовать в файлах шаблона компонента template.php и result_modifier.php (так как результаты их выполнения кешируются).
Обратите внимание, что нативные компоненты Битрикс могут сами устанавливать мета-теги descriptoin и keywords . И тем самым переопределять значения, установленные в component_epilog.php . Вот типичный код нативного компонента:
Содержание
- Пользовательские поля других объектов
- Создание пользовательского поля раздела в Bitrix
- Вывод пользовательского поля раздела в Bitrix
Пользовательские поля других объектов
Пользовательское поле — инструмент, позволяющий добавлять к объектам системы поля, не предусмотренные штатным функционалом. Пользовательские поля могут создаваться в неограниченном количестве для каждого объекта. При выборе того или иного типа пользовательского поля становятся доступными дополнительные поля настройки для соответствующего типа.
Применение пользовательских полей в Битрикс в привязке к тем или иным модулям, задаётся с помощью объектов, которые необходимо указать при создании поля. Не все модули имеют объекты для пользовательских полей по умолчанию. Разработчик может создавать собственные объекты, но надо понимать, что в методах GetList() поддерживаются только системные объекты:
Здравствуйте, дорогие читатели! Битрикс позволяет создавать собственные поля и свойства для элементов и разделов. Вывод свойств элементов, как правило, уже прописал в дефолтных шаблонах компонентов, а вот пользовательские свойства надо прикручивать ручками.
Как и про материал о 404 ошибке, о данной теме есть очень много чего почитать. Чтобы упростить вам жизнь и поиски, привожу рабочий вариант кода.
Расширяя свои разделы дополнительными полями, вы можете сильно увеличить их функционал и значительно дополнить недостающей информацией.
Лично передо мной встала задача кардинально изменить внешний вид общего списка категорий магазина, а для этого как раз я и прибег к дополнительным полям.
Создание пользовательского поля раздела в Bitrix
Итак, для того чтобы вам создать свое поле для раздела (категории), сделаем следующее.
2. В левом меню откройте раздел «Контент», а в появившейся навигации, в разделе «Каталог», нажмите на пункт «Каталог товаров».
3. После того, как у вас открылся список ваших разделов, вы жмете на иконку вызова меню, в котором выбираете пункт «Изменить».
4. На открывшейся странице редактирования каталога вы переключаетесь на вкладку «Доп. поля», а в ней жмете ссылку «Добавить пользовательское свойство».
Кстати говоря, все созданные вами поля будут отображаться как раз в этой вкладке, ниже под ссылкой.
5. После того, как в предыдущем шаге мы перешли по ссылке, у нас открылась форма добавления поля:
Что нас тут по большей части интересует?
- Тип – это тип вводимых данных. Если у вас простой текст, то рекомендую выбирать «Строка», если же у вас число или цена – для них тоже есть свои типы в выпадающем списке. Я делаю пример вывода дополнительного заголовка, поэтому я выберу тип «Строка».
- Объект. Это то, в каком разделе будет выводиться данное поле. В вашем случае, если вы перешли сюда по ссылке с раздела, будет заполнено автоматически.
- Код поля. Уникальное имя вашего поля (может содержать только A-Z, 0-9 и _). Обязательно запомните это имя, так как оно потребуется нам для вывода.
- Сортировка – порядок вывода поля в общем списке полей раздела.
- Значение по умолчанию – то значение, которое будет заполнено по умолчанию при создании каждого нового раздела.
- Количество строк. Если у вас поле предназначено для заголовка, то лучше всего ставьте «1», если оно служит для заполнения, например, описания – то выставьте «10» или другое удобное для вас количество строк.
- Минимальная/Максимальная длина строки – поля для определения граничных условий длины данных поля. Очень полезная вещь, когда вы задаете некую маску. Например, индекс в России шестизначный, отсюда минимальное и максимальное значение будет «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-м пункте. Если вдруг вы не записали название поля, то узнать его вы можете следующим образом.
- Авторизуйтесь в панели управления сайтом.
- В левом меню откройте раздел «Настройки». В появившейся навигации выберите пункт «Настройки продукта» — «Пользовательские поля», после чего у вас откроется список со всеми полями, где вы ищете имя вашего поля.
- Весь код в выводе данных из поля появляется только при наличии в нем информации в панели управления вашим сайтом.
На этом, собственно, и все. Вывод полей на самом деле простой, главное – это корректное возвращение данных переменными и заданное имя вашего поля. Если какие моменты показались вам не совсем понятными – не стесняйтесь и спрашивайте об этом в комментариях под данной статьей.
Источник: