Перейти к содержимому

Универсальные списки на практике - настройка и вывод

Универсальные списки - подтема на 8 вопросов из собранных. Здесь собраны решения по настройке списков и выводу их элементов.

Что общего у этих задач

Список - это инфоблок с другим интерфейсом. Данные лежат в тех же таблицах, поля - это свойства инфоблока, а разделы - его разделы. Отсюда главное следствие: всё, что умеет API инфоблоков, работает и со списками.

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

Права на список свои. Они выдаются на уровне модуля списков и не совпадают с правами на инфоблоки. Поэтому «элементы видит только администратор» решается в настройках списка, а не в правах инфоблока.

Структура списка живёт в базе, а не в файлах проекта. Значит, выкладка кода её не переносит, и на боевой сайт она уезжает отдельной миграцией вместе с правами групп.

С чего начать

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

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

Последний шаг - права. Решают, какая группа видит записи, какая правит и кто отвечает за структуру списка после сдачи проекта.

Решения подтемы

Частые вопросы

Чем список отличается от инфоблока?

Интерфейсом, а не хранением. Данные списка лежат в инфоблоке, и то же самое API читает их обычной выборкой.

Почему список видит только администратор?

Не выданы права на уровне модуля списков. Права инфоблока их не заменяют: у списка своя настройка доступа.

Как вывести элементы списка на сайте?

Обычной выборкой по инфоблоку списка либо штатным компонентом. Списки не предполагают своего публичного вывода: он делается средствами инфоблоков.

Годятся ли списки для больших справочников?

Для сотен и тысяч записей - да. Для десятков тысяч интерфейс становится неудобным, и справочник выносят в highload-блок.

Связанные темы

Первоисточники