Создание конфигурации
В этом топике речь пойдёт о создании дочерних ресурсов и работа с существующими таблицами базы данных. Черпал вдохновение отсюда. После установки, MIGX должен появится в основном меню менеджера в разделе Компоненты, заходим в управление MIGX. Первым делом создадим новую конфигурацию для MIGXdb-TV, имя конфигурации должно быть уникальным. Так как в этой статье я рассматриваю дочерние ресурсы к блогу, то имя конфигурации будет: resourcesBlog. В табе MIGX жмём добавить элемент, в открывшемся окне заполняем поля:
- Name — resourcesBlog
- Замена «Добавить элемент» — Создать топик. Этот текст будет отображаться на кнопке добавления нового ресурса.
- Form Caption — Дочерний ресурс
- unique MIGX ID — resourcesBlog. Уникальный ID.
Настройка MIGXdb
Заполним необходимые поля:
- Classname — modResource
- Processors Path — resourcesBlog
- getlist defaultsort — id
- getlist defaultsortdir — desc
- Prefix — default Prefix (префикс таблиц БД, по умолчанию: modx_). Если префикс был изменён, здесь указать — Custom Prefix, а ниже, в поле — свой префикс.
- Load Grid — by Button
- Check Resource — yes
- Has Extra Connection Table — yes
Перед тем как пойдём дальше, проверяем существование папки childstutorial в /core/components/mgix/processors/mgr/. Если существует — переименовываем в resourcesBlog, если нет — качаем здесь и заливаем на сервер в выше указанную директорию. Наша созданная конфигурация будет искать этот процессор. И для лучшей наглядности, предлагаю сразу же создать новое TV с одноимённым названием — resourcesBlog, в параметрах ввода указываем тип ввода — migxdb, в разделе Конфигурации указываем: resourcesBlog. Это TV должно быть доступно для шаблона, который имеет дочерние ресурсы.
Теперь, для создания нового дочернего ресурса нам нужно открыть документ-родитель для редактирования и в табе Дополнительные поля создать новый ресурс. Но сначала нужно добавить дополнительные поля и столбцы.
Таблица дополнительного поля resourcesBlog.
Добавим дополнительные столбцы для TV resourcesBlog. Допустим, это будут: ID, Заголовок, Краткое описание, Опубликован (OK), Удалён. Откроем для редактирования созданную конфигурацию MIGX и в табе Columns жмём Добавить элемент.
- Header — ID (шапка)
- Field — id (поле)
- Column width — 10 (ширина столбца, px)
- Sortable — yes (сортировать)
- Show in Grid — yes (показывать в сетке)
- Header — Заголовок (шапка)
- Field — pagetitle (поле)
- Column width — 100 (ширина столбца, px)
- Sortable — yes (сортировать)
- Show in Grid — yes (показывать в сетке)
- Renderer — this.renderRowActions (это добавит в поле две кнопки, таких как: Редактировать и Опубликовать или Снять с публикации зависит от статуса документа.)
- Header — Краткое описание (шапка)
- Field — introtext (поле)
- Column width — 150 (ширина столбца, px)
- Sortable — yes (сортировать)
- Show in Grid — yes (показывать в сетке)
- Header — OK (шапка)
- Field — published (поле)
- Column width — 20 (ширина столбца, px)
- Sortable — no (не сортировать)
- Show in Grid — yes (показывать в сетке)
- Renderer — this.renderCrossTick (визуализация — галочки или крестик)
- Header — Удалён (шапка)
- Field — deleted (поле)
- Column width — 10 (ширина столбца, px)
- Sortable — no (не сортировать)
- Show in Grid — no (не показывать в сетке)
Добавим к таблице кнопки действий. Перейдём в таб Actionbuttons и отметим следующие чекбоксы: addItem, bulk, toggletrash. После этого наша кнопка Создать топик станет активной, и появятся другие. При нажатии на неё открывается пустое окно, создадим в этом окне две вкладки — это Ресурс, где будут поля для заголовка, расширенного заголовка, описания и т.д. и Содержание, где будем подгружать редактор TinyMCE для основного контента. Вкладка Formtabs — Добавить элемент, в открывшемся окне заполнить: Caption — Ресурсы, Display above Tabs — no, в поле Fields — Добавить элемент.
- Fieldname — pagetitle
- Caption — Заголовок
- Description is Code — no
- Fieldname — show_in_tree
- Caption — Показывать в дереве
- Description is Code — no
- Input TV type — listbox
- Input Option Values — Да==0||Нет==1 (зависит от системных настроек, если в настройках по умолчанию задано — не показывать в меню.)
- Default Value — 0
- Fieldname — template
- Description is Code — no
- Input TV type — hidden
- Default Value — (здесь указать id шаблона для дочерних ресурсов)
- Fieldname — content
- Caption — Содержимое ресурса
- Description is Code — no
- Input TV type — richtext (подгружаем редактор, TinyMCE должен быть установлен)
Добавим фильтр поиска к нашему TV. Для этого перейдём на вкладку Db-Filters и добавляем элемент
- filter Name — search
- Label — Поиск
- Empty Text — Поиск по заголовку
- Filter Type — textbox
- getlist-where — (смотри в коде)
{"pagetitle:LIKE":"%[[+search]]%"}Надеюсь понятно разжевал)). Что не понятно, задавайте вопросы — вместе разберём. А пока всё.
Источник: marabar.ru/blogs/instructions/migxdb-upravlenie-dochernimi-resursami/
0 комментариев