Модуль 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 |