Модуль multiTVDatabase Manager обеспечивает почти те же параметры, как и переменная шаблона multiTV в режиме datatable.
Модуль multiTV Database Manager обеспечивает почти те же параметры, как и переменная шаблона multiTV в режиме datatable. Главное отличие - это прямой доступ к таблицам базы данных MODX Evolution.
С Database Manager можно управлять (CRUD) собственными таблицами базы данных.
Каждый файл конфигурации создаст соответствующую вкладку в модуле Database Manager. Файлы конфигурацйии находятся в папке assets/tvs/multitv/moduleconfigs
. Смотрите пример файла конфигурации event_log.moduleconfig.json
Каждый файл конфигурации содержит JSON массив со следующими параметрами:
таблица базы данных с ключем table
. Имя таблицы будет служить префиксом таблицы MODX.
Название вкладки в модуле Database Manager с ключем caption
.
Путь к папке с процессорами можно установить в ключе processors
. Если не задано, то по умолчанию используются процессоры assets/tvs/multitv/processors
. Если задано, то процессоры извлекаются из вложенной папки assets/tvs/multitv/processors
названой по значению ключа. If that subfolder does not exist, the value points to a subfolder of the MODX base path.
Существует пять процессоров, используемых в данный момент.
Процессоры | Описание |
---|---|
loadtable | Загружает в текущую таблицу с limit и offset в datatable |
loadrecord | Загружает строки таблицы в редактирование слоя |
createrecord | Создает новую строку таблицы для редактирования слоя |
deleterecord | Удаляет строку таблицы |
saverecord | Сохраняет значения редактируемого слоя в строке таблицы |
Поля таблицы базы данных могут быть определены в ключе fields
. Этот ключ содержит массив fieldnames и каждый fieldname содержит массив свойств поля.
Свойство | Описание | Значение по умолчанию |
---|---|---|
caption | Заголовок (при horizontal) или лейбл (при vertical) для поля ввода | - |
type | Тип поля ввода (используются все типы ввода MODX кроме url и richtext, добавлен thumb для отображения эскизов изображений) и unixtime для конвертации datetime таблицы данных в unixtime и наоборот |
text |
elements | Для ввода возможных значений переменной, например, для выпадающего списка всех дочерних документов корневой папки сайта: @SELECT `pagetitle`, `id` FROM `modx_site_content` WHERE parent = 0 ORDER BY `menuindex` ASC |
- |
default | Значение по умолчанию. Это значение может содержать вычисления. Может содержать два плэйсхолдера: {i} - автоматически увеличивающийся индекс, {alias} - псевдоним редактируемого документа. |
- |
thumbof | Имя переменной для миниатюры изоображения. Миниатюра будет отображена в этой области. | - |
width | Ширина поля ввода | 100 |
During adding/editing one row a layer is displayed. In this editing layer the MODX input type richtext is not usable at the moment (degrades to textarea).
Видимые столбцы datatable могут быть определены в ключе columns
. Этот ключ содержит массив параметров столбцов. Каждый параметр столбца содержит массив свойств. Если свойство не задано, используется свойство ключа fields
.
Свойство | Описание | Значение по умолчанию |
---|---|---|
fieldname | (обязательный параметр) Имя свойства | - |
caption | Заголовок столбца | Заголовок для fields |
width | Ширина столбца | Ширина дял fields |
render | Render содержимого столбца с поддержкой PHx | - |
Содержимое редактируемого слоя во время добавления/редактирования одной строки может быть определено в ключе form
. Этот ключ содержит массив параметров вкладки form.
Свойство | Описание | Значение по умолчанию |
---|---|---|
caption | (обязательный параметр) Заголовок вкладки form | - |
content | (обязательный параметр) Ассоциативный массив параметров полей | - |
Каждый параметр вкладки формы содержит ассоциативный массив свойств поля (ключ содержит имя поля в fields
). Если свойство поля не установлено, используется свойство поля в fields
.
Свойство | Описание | Значение по умолчанию |
---|---|---|
caption | Заголовок для ввода | Заголовок для fields |
Кнопки для модуля Database Manager могут быть определены в ключе buttons
. Этот ключ содержит ассоциативный массив конфигурации кнопок.
Свойство | Описание | Значение по умолчанию |
---|---|---|
position | (обязательный параметр) Положение кнопок (может быть topleft , topright , bottomleft or bottom right ) |
- |
buttons | (обязательный параметр) Ассоциативный массив конфигурации кнопок | - |
Каждая конфигурация конопок содержит ассоциативный массив параметров кнопок.
Property | Description | Default |
---|---|---|
caption | текст на кнопке | - |
icon | иконка для кнопки, расположенная в assets/tvs/multitv/css/images |
- |
processor | имя обработчика файла assets/tvs/multitv/processors/[key] (key contains the group config key) | - |
form | Массив параметров вкладки form (см. редактирование слоев) | - |
Пример генерации кнопки.
"buttons": { "coupons": { "position": "topright", "buttons": { "generate": { "caption": "Generate", "icon": "wand.png", "processor": "generate", "form": [{ "caption": "Coupon", "content": { "count": {}, "discount": {}, "validuser": {}, "validgroup": {}, "validuntil": {}, "maxuse": {} } } ] } } } },
Другие опции могут быть определены в ключе configuration
.
Свойство | Описание | Значение по умолчанию |
---|---|---|
radioTabs | Вкладки в виде radio buttons. Состояние кнопки сохраняется в столбце fieldTab каждой строки таблицы (этот столбец должен существовать). | false |
sorting | Сортировка по колонкам таблицы | false |
sortindex | Имя столбца, которое используется в качестве индекса сортировки. Тип столбца должен быть целочисленным, и он должен содержать автоинкрементный индекс (см. поля) в качестве значения по умолчанию. | false |