Новый формат
Вывод свойств инфоблоков в 1С-Битрикс
Свойства инфоблока (артикул, файл, список, привязка к элементам) хранятся в админке, а на сайте их выводят в шаблоне компонента — чаще в `template.php` результата.
Ниже — логика массива `$arResult` и ключей отображения. Конкретный синтаксис и API зависят от версии Битрикс и типа компонента; сверяйте официальную документацию и не копируйте сниппеты 2017 года без проверки на своём проекте. Нужны базовые PHP и HTML.
Как устроен вывод
Компонент инфоблока собирает элемент в `$arResult`. Свойства для показа часто лежат в `$arResult['DISPLAY_PROPERTIES']['КОД_СВОЙСТВА']`. У записи есть название и `DISPLAY_VALUE` (уже подготовленное значение или массив значений).
Код свойства (`ATTRIBUTE` в старых заметках) задаёте вы в админке инфоблока. В шаблоне подставляете свой код, не чужой из примера.
Перед правкой шаблона:
- свойство создано и заполнено у элемента;
- включено отображение в списке/детальной — если компонент это требует;
- работаете в копии шаблона компонента;
- после правок сбрасываете кэш.
Типы свойств — разный вывод
Строка и число часто выводятся как одно `DISPLAY_VALUE`. Список может быть одиночным или множественным — тогда значение массив, его обходят циклом. Файл — ссылка на скачивание/просмотр. Привязка к элементам — нужно дополнительно получить поля связанных элементов.
Не смешивайте «сырой» `PROPERTIES` и `DISPLAY_PROPERTIES` без понимания: первый ближе к данным БД, второй — к готовому показу.
Тип → на что смотреть
| Тип свойства | На практике |
|---|---|
| Строка / число | Одно значение в DISPLAY_VALUE |
| Список | Одно или массив значений |
| Файл | Ссылка / путь к файлу |
| Привязка к элементам | ID/данные связанных элементов |
| HTML/текст | Экранирование и допустимые теги |
Практика в шаблоне
Типовой каркас: проверить, что ключ свойства есть в `DISPLAY_PROPERTIES`, вывести название при необходимости, затем значение. Для множественных — `foreach`. Для файла — сформировать ссылку по данным свойства.
Счётчики комментариев и просмотров — отдельные поля/модули, не всегда «свойство инфоблока». Подключайте только если на проекте реально используются эти механизмы.
Чеклист отладки «не выводится»:
- код свойства совпадает с админкой;
- элемент заполнен;
- правильный template.php того компонента, что на странице;
- кэш сброшен;
- в режиме правки/отладки видно нужную область.
Чего избегать
Не правьте файлы в `bitrix/modules` и не копируйте длинные простыни кода из форумов 2015–2017 без понимания версии. После обновления ядра такие правки ломаются.
Не тащите в шаблон бизнес-логику «на 200 строк» — вынесите в result_modifier.php или сервисный слой, если проект это позволяет.
Связь с контентом и SEO
Свойства удобны для характеристик товара, файлов прайса, ярлыков. Для SEO важнее, чтобы нужные поля попадали в видимый HTML и шаблоны мета — см. материал про SEO в Битрикс.
Пустая «витрина» свойств в карточке хуже для пользователя, чем аккуратный набор заполненных характеристик.
Что запомнить
Вывод свойств = шаблон компонента + код свойства + тип значения. `DISPLAY_PROPERTIES` — главный ориентир для показа.
Сверяйте актуальный API Битрикс; публичная панель правит контент, но не заменяет работу с шаблоном.
Частые вопросы
Где править вывод?
Обычно в шаблоне нужного компонента (часто `template.php` в `bitrix/templates/...` или в шаблоне сайта). Лучше копия шаблона компонента, а не правка ядра.
Что такое DISPLAY_PROPERTIES?
Массив подготовленных к показу свойств элемента: имя, значение(я), тип. Удобен для вывода в карточке/списке.
Почему свойство пустое на сайте?
Не отмечено для детальной/списка, другое имя кода, кэш, не тот шаблон компонента или свойство не заполнено у элемента.
Чем это отличается от панели публичного раздела?
Панель — правка контента глазами. Здесь — шаблон и код вывода свойств разработчиком.
Можно ли без PHP?
Часть свойств показывают штатные параметры компонента. Сложные форматы — всё равно шаблон или кастом.
Свойства инфоблока не видны на сайте?
Разберём DISPLAY_PROPERTIES и типы вывода — без слепого копипаста сниппетов.
Обсудить задачу