ListEditor


Назначение

Локальный макрос файла menu.xml (больше нигде не работает), подключающий справочники для просмотра и редактирования в админзоне.

Ключи

table Имя таблицы, подключаемой для просмотра. Обязательный параметр.
entity Имя сущности, на основании которой будет построен редактор записи в справочнике. Обязательный параметр.
viewonly Переводит справочник в read-only режим: нельзя добавлять новые записи, нельзя удалять записи, но можно редактировать имеющиеся.
filter Сложный фильтр, задается аналогично ключу filter любых макросов.

Комментарии

Подключение справочников для просмотра и редактирования в системе управления примитивно: достаточно в файле menu.xml добавить узел с локальным макросом ListEditor. Обычно справочники размещают в разделе "служебные функции" чтобы пользователю было легче ориентироваться, но это не важно.

Задавая разные ключи можно выводить весь справочник или только записи по определенным критериям. Видимые в админзоне столбцы задаются в сущности. Неуказанные в сущности, но существующие в таблице данные, в админзоне видно не будет. Порядок столбцов, режим сортировки и другие настраиваемые редактором сайта параметры будут сохранять свои настройки в реестре (для текущего пользователя на машине), соответственно у каждого редактора сайта они свои.

Редактор записи строится автоматически по описанию сущности в entities.xml, идентификатор которой разработчик указывает в ключе entity.

Примеры

Пример

$ListEditor[table: news; entity: news_item; viewonly: 1; filter: state=on, title!=Тест]$

Выводит справочник news, с возможностью только просмотра записей (без добавления новых и удаления), только записей со значением "on" в поле state и с полем title не имеющим значение "Тест" (сложный фильтр).

Узел в menu.xml в сборе

<link id="2220" title="Пользовательские переменные">
    <url>
    </url>
    <admin-url editable="false">
        $ListEditor[table: varlist; entity: user_variable]$
    </admin-url>
</link>