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