Урок 14. Использование MIGX. Создание таблицы
Конфигурация MIGX TV
Допустим нам нужна простая таблица с распорядком работы магазина и время, когда он открывается/закрывается. Создайте новую TV (назовём её "operatingHours") используя Тип ввода MIGX TV(подразумеваю, что вы уже установили пакет MIGX через Система -> Управление дополнениями)
Я сделаю это через быстрое создание ТВ, вот как это выглядит:
Итак, код для Вкладок формы:
Даём имя для описания вкладки "Operating Hours" и далее добавляем три поля к ней: день, начало и конец работы. Мы не определяем тип ввода, просто подразумеваем, что это текстовое поле.
Теперь для вывода этого в панели ресурса, нам нужно установить Разметку колонок. Мы используем следующий код для этого:
Вставьте код приведенный выше в поля ТВ operatingHours:
Мы установили три колонки ("Day", "From" и "Until"), определили их ширину и соответствующий dataIndex (который должен быть тем же самым как и значение «поля» в форме) и также указываем, что он не должен сортироваться.
Наконец мы определили замену для "Add Item" в моём случае – это "Добавить новую строчку ".
В менеджере при открытии ресурса, шаблону которого доступно данное поле operationgHours вы теперь можете увидеть следующую картину:
Создайте несколько рядов и добавьте в них нужные данные:
Парсинг данных
Теперь на сайте мы должны вывести эти данные используя сниппет getImageList, который идёт вместе с MIGX дополнением.
Ниже приведен вызов сниппета, который нужно поместить в ваш шаблон в нужное для этого место:
Как видно на рисунке - я поместил вызов этого сниппета в поле Content, а для вывода его использовал обычный шаблон Base Template, который идёт вместе с базовой установкой MODX Revolution.
Это проверит TV operatingHours и спарсит её значения чанком operatingHoursTpl. Вот чанк, который мы использовали:
В основном мы выводим табличный ряд для каждого ряда ТВ и помещаем соответствующие значения. В конце, когда уже значение from пусто, выводятся две колонки с текстом "Closed".
Результат
Это всего лишь маленький пример того, что можно сделать с помощью MIGX! Конечно же, можно сделать намного больше добавили больше колонок, других форм и т.д. Мы об этом поговорим в следующих уроках.
При работе над уроком использовал RTFM MIGX
Jun 25 2012 MIGx сниппеты уроки MODx Revolution getImageList Виктор Матушевский
Дмитрий Христоев
18.07.2012 15:16Здравствуйте! Спасибо за урок. Но есть один вопрос, на который пока не могу найти ни где ответа, как вывести дату в ячейку? Причем дату я выбираю как через параметр date, т.е. в появившемся календаре, а не вводить руками постоянно.
Viktor Minator
18.07.2012 17:00http://stackoverflow.com/questions/6622665/displaying-json-serialized-date-in-ext-js-grid
Азамат Газиев
28.11.2012 15:37Здравствуйте! А каким образом устроить сортировку вывода по какому-либо столбцу?
То что есть в документации:
[{"sortby":"age","sortdir":"DESC","sortmode":"numeric"},{"sortby":"name","sortdir":"ASC"}]
не отрабатывает...
Азамат Газиев
28.11.2012 15:46Разобрался! Может кому нужно будет.
добавляем &sort=`[{"sortby":"название поля по которому необходимо сортировать","sortdir":"ASC"}]` прямо в вызов getImageList/
Дмитрий Христоев
12.02.2013 12:21Здравствуйте! Скажите, есть такая идея.
Можно ли заранее задать определенное количество строк для заполнения, и при этом больше нельзя добавлять строку.
Я делаю родословную для кота.
1 колено - 2 строки.
2 колено - 4 строки.
3 - 8 строк.
4 - 16 строк.
MIGX единственная вещь, с помощью которой удобно это сделать.
Евгений Николаевич
17.05.2013 15:16Здравствуйте! Есть ли вариант вывести две (три, четыре и тд.) одинаковые таблицы с разными значениями на одной странице с помощью MIGX (при этом не загружая проект дополнительными чанками и TV)? Если да, то как это реализовать (или для этих целей используется другой плагин)?. Спасибо.
Viktor Minator
17.05.2013 16:02Используя Custom Manager Pages. Посмотрите rtfm
Евгений Николаевич
17.05.2013 16:21Ясно, буду изучать. Спасибо...
Евгений Николаевич
17.05.2013 20:13Думаю, легче создать пару TV, чем использовать CMP.
alexzh1362
14.10.2014 23:35Подскажите пож. как создать в modx rev турнирную таблицу?