Модуль

    multiTV: Модуль

    Модуль 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 (обязательный параметр) Ассоциативный массив конфигурации кнопок -

    Каждая конфигурация конопок содержит ассоциативный массив параметров кнопок.

    PropertyDescriptionDefault
    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