Универсальные списки: публичное добавление, право только на свои и модерация через БП
Цель
Сценарий: пользователь в публичной части добавляет элементы списка, видит только свои записи, редактор модерирует. Модуль Универсальные списки (bitrix:lists) отличается от привычного «Добавление элементов инфоблока» прежде всего моделью прав.
Шаги настройки
- Создайте тип инфоблока под списки (например «Компании»).
- В Настройках модуля «Универсальные списки» → вкладка прав: разрешите администраторам управление списками в этом типе — иначе тип не появится в параметрах компонента.
- Разместите компонент
listsв разделе, включите ЧПУ (без ЧПУ поведение нестабильно). - Кнопкой «Добавить» создайте список. На вкладке Доступ: группе «Зарегистрированные пользователи» — «Добавление»; категории «Автор» — «Изменение» (только свои элементы). Право «Изменение» для всех пользователей даст редактирование чужих записей.
- Для уведомлений и утверждения подключите бизнес-процессы (галочка в настройках списка): авто‑запуск при добавлении; при необходимости — отдельный сценарий при изменении. Удобнее заменить стандартные блоки «публикация» на изменение активности через «Изменение документа», если деактивированные элементы скрываются некорректно.
Доработка шаблона списка
В lists.list → result_modifier.php можно задать сетке колонки по умолчанию и тему через CUserOptions::GetOption / SetOption для main.interface.grid, например только NAME,BIZPROC и серая тема для новых пользователей.
$aOptions = CUserOptions::GetOption("main.interface.grid", $arResult["GRID_ID"], array());
if(!$aOptions) {
$aOptions = array(/* views.default columns NAME,BIZPROC, theme grey */);
CUserOptions::SetOption("main.interface.grid", $arResult["GRID_ID"], $aOptions);
}
Спрятать лишние действия строки по БП можно, отфильтровав элементы без MENU в массиве $arResult["ELEMENTS_ROWS"][$i]["actions"]. В форме редактирования (lists.element.edit) вкладки «Бизнес-процессы» и «Разделы» можно отключить локально через условное отключение CModule::IncludeModule("bizproc") и закомментирование вкладки разделов.
Итог
Для простой задачи компонент «Добавление элементов инфоблока» проще по шагам, но не поддерживается; универсальные списки дают официальный путь через BP и доступы ценой более тяжёлой первичной настройки.
Источник: перенос с блога g·rain·design (опыт на модуле ~11.5.1).
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии