Содержание
- 1 Простой пример без пагинации
- 2 Самые ходовые (популярные) фильтры и модификаторы MODX
- 3 Migx внутри Migx
- 4 Дополнительная информация:
- 5 Создание конфигураций
- 6 Создание первого TV MIGX
- 7 Поиск и устранение неисправностей
- 8 Дополнительные данные
- 9 Использование getPage для постраничной навигации
- 10 Дополнительная информация
- 11 Примеры использования Fenom MODX (шпаргалка)
- 12 Описание функции СОРТПО
- 13 Синтаксис
- 14 Ввод данных
- 15 Полноценное включение Fenom
- 16 Примеры
- 17 Модификатор UserInfo
- 18 Создание пользовательского модификатора
- 19 Вывод данных через getImageList
- 20 Пример вывода информации из таблицы отличной от site_content
- 21 Вывод поля MIGX в шаблоне
Простой пример без пагинации
Выборка последних 20 документов из родителем которых является документ с ID=5.
Текст каждого документа будет подвержен дополнительной обработке классом summary с предварительным удалением html тегов и усечением длины текста до 200 +/- 50 символов. При этом в чанке будут доступны плейсхолдеры tv.img и tv.tag со значением TV параметров img и tag.
Для наглядности чанк ListSummaryPost
<div class="post"> <div class="date"></div> <h3><a href="/~]"></a> </h3> <div class="tag"><span>Теги: </span> </div> <div class="content"> <a href="/~]" title=""><img src="" /></a> <p>...</p> <a href="/~]" title="Подробнее">Подробнее</a> </div> </div>
Самые ходовые (популярные) фильтры и модификаторы MODX
условия if else
Чтобы составить условие на существование в БД параметра modx и при условие, что оно не пустое, то пишем следующий скрипт.
Проверка на значение: Если id равен 7, то выводим значение, иначе выполняем другое действие.
Проверка на пустоту (empty)
К примеру у нас есть TV (дополнительное поле) «keywords» и соотвественно мета тег к нему и мы не хотим выводить его в код если поле пустое, тогда вывод будет следующим.
Обрезка текста (ellipsis)
Например, нам нужно вывести небольшой кусок текста (30 слов) пускай из поля content (содержимое — где редактор текста) и поставить в конце 3 точки.
В следующем уроке разберем Форматирование дат и времени.
Основной синтаксис MODX Revo Форматирование дат и времени в MODX >
Migx внутри Migx
Чтобы не плодить в админке чанки выводов, мы может миксовать поля. Для этого при создании элемента указываем Input TV type — migx и Configs название конфигурации которую нужно вложить. Подробнее об этом буду писать в статье: MIGX | неоднородное содержимое или конфигуратор лендингов (пока в разработке).
Дополнительная информация:
- Создание слайдеров при помощи MIGX.
- Раздел управления виджетами.
Рассмотрел всю документацию и все основные моменты с которыми можете столкнутся. Если есть вопросы спрашивайте!
Создание страниц ошибок 404, 401, 503 в MODX Создание слайдеров при помощи MIGX, BanerY и pdoResources >
Создание конфигураций
Чтобы создать конфигурацию для ТВ MIGX, нужно зайти в Приложения — MIGX и перейти на вкладку MIGX, далее нажать на Добавить элемент.
Откроется новое окно со множеством вкладок. В первой вкладке Settings, заполняем name на английском (в будущем это будет название конфигурации для ТВ) а в Замене пишем добавить.
Далее переходим во вкладку Formtabs в поле Caption вписываем название блока на русском и добавляем в него нужные TV, я добавлю изображение (image — тип — image и текст (description — тип — textareamini) см. скриншот.
Далее переходим на вкладку Columns и создаем разметку колонок (будет выводиться при создании документа, после добавления элементов), в нее по сути тупо переносим созданные тв (header: изображение, field: image, Column width: 50, renderer: this.renderImage и второе header: описание, field: description, Column width: 250) и не забываем нажать «Выполнить».
Создание MIGX TV
Идем во вкладку элементы и создаем дополнительное поле, заполняем имя (на английском) и подпись, далее на вкладке Параметры ввода в тип ввода выбираем migx и прописываем название созданной ранее конфигурации, ну и выбираем доступность для шаблонов.
После того при редактировании страниц, появится наше поле
Создание первого TV MIGX
Заготовка для конфигурации MIGX находится в директории . В нижеследующем примере мы будем использовать заготовку «tabs.txt». Эта документация предполагает, что у вас установленно дополнение TinyMCE.
Файл tabs.txt содержит пример реализации простой галереи изображений. Галерея будет состоять из единого элемента, который объединяет в себе одно текстовое поле с редактором (описание изображения), одно поле изображения (само изображение), и короткую строку (заголовок). Все эти данные будут храниться в одном TV-поле.
Шаг 1: Создайте TV MIGX
- Заполните название, заголовок и все остальное как у любого другого TV-поля.
- Укажите к какому шаблону относится TV-поле
- Укажите тип ввода — MIGX
Шаг 2: Настроить поля ввода MIGXШаг 2.1: Вкладки формы
Вкладки формы определяет какие поля ввода будут предоставлены пользователю.
Скопируйте содержимое tabs.txt в поле «Вкладки формы»
Сейчас мы разберем этот JSON на составляющие чтобы понять что есть что.
- Первый ключ отвечает за то какой заголовок будет у вкладки. В данном случае — .
-
Второй ключ Содержит информаци о полях, доступных для редактирования в этой вкладке.
- Первый ключ элемента fields — . Значение этого ключа соотвествует имени плейсхолдера при выводе данных через .
- Второй ключ элемента fields — . Это заголовок, который увидит пользователь, заполняющий данные в панели управления.
- Третий ключ элемента fields — . Позволяет указать тип TV (ДАТЬ СПИСОК)(по-умолчанию «text»)
-
- Во второй вкладке мы указали для того чтобы можно было загружать изображения.
- — если нужно чтобы изображения брались из предустановленного в настройках TV-поля источника файлов.
Ключи для «Вкладки форм»
Ключ | Описание |
---|---|
field | Имя плейсхолдера, которое можно будет использовать в шаблоне при выводе через getImageList. |
caption | Заголовок для поля ввода в панели управления. |
description | Описание поля ввода в панели управления. |
inputTVtype | Используется для определения типа ввода (по-умолчанию «text»). |
inputTV | Название TV-поля, которые будет использовано. Например, можем создать ТВ «списко ресурсов», указать тут его название и получим список ресурсов внутри MIGX |
default | The default value of that field. |
Шаг 2.2: Разметка колонок
Мы размечаем колонки чтобы дать пользователю общее представление о том, что содержится внутри элемента.
Скопируйте содержимое columns.txt в поле «Разметка колонок»
Ключи для «Разметки колонок»
Ключ | Описание |
---|---|
header | Название столбца |
sortable | Можно ли сортировать столбец? |
dataIndex | Поле, которое вы хотите вывести в этом столбце (значение ключа «field» из Вкладки форм) |
renderer | Можно использовать средства визуализации для каждого столбца. Например, для того чтобы отображить миниатюры изображений в таблице, должна быть включена функция «this.renderImage». Возможные значения параметра renderer: this.renderimage this.renderImageFromHtml this.renderPlaceholder this.renderFirst this.renderLimited this.renderCrossTick this.renderClickCrossTick this.renderSwitchStatusOptions this.renderPositionSelector this.renderRowActions this.renderChunk ImagePlus.MIGX_Renderer this.renderDate this.renderOptionSelector |
editor | Cell Editor: For ingrid-editing, select an Editor for this column. this.textEditor — simple Text-input this.listboxEditor — shows a listbox with the input-options of that field |
Поиск и устранение неисправностей
Выводится массив атрибутов
Вы забыли указать параметр `&tpl`. Без &tpl сниппет будет пытаться определить ресурсы, но вы не сказали ему как их форматировать. Проверьте, указан ли параметр &tpl в вызове вашего сниппета, как тут:
]
ИЛИ
Вы допустили ошибку в имени чанка. Возможно у вас и указан &tpl, но чанк действительно существует? Если вы указали имя чанка, который не существует, getResources не будет знать как форматировать ваши ресурсы.
ИЛИ
Даже если вы правильно задали параметр &tpl, возможно, вы случайно забыли амперсанд к одному из ваших других параметров. Например limit=`5` приведет вызов сниппета к фейлу и атрибуты будут выведены без форматирования. Правильный формат должен быть &limit=`5`.
Содержимого там нет
Вы извлекаете правильные ресурсы и вы видите какие-топравильно отформатированные результаты, но ваш плейсхолдер
]
ничего не выводит. Что происходит? Вам нужно указать параметр &includeContent=`1` чтобы получить содержимое.
Дополнительные данные
&urlScheme
Схема генерации URL
Возможные значения — схемы доступные в MODX Evolution (относительные, http, https, full).
Значение по умолчанию — пусто (относительные)
&dateSource
Поле документа в котором располагается дата.
Возможные значения — название поля в таблице. Если в качестве значения была указана строка отличная от createdon и значение данного поля в базе равно 0, то тогда все равно берется значение из createdon. Для примера: Вы используете отложенную публикацию для некоторых документов и указываете сортировку по полю pub_date. Так вот, c DocLister у вас никогда не получится ситуации, что документы опубликованные без отложенной публикации всегда будут в конце списка.
Значение по умолчанию — pub_date.
&dateFormat
Правила форматирования даты (format) для PHP функции strftime.
В качестве источника даты используется параметр dateSource. Помимо этого учитывается смещение даты на сервере (смотрите системный параметр server_offset_time). Таким образом, можно использовать персонализованную подстановку времени в зависимости от часового пояса пользователя.
Значение по умолчанию — %d.%b.%y %H:%M.
&summary
Правила обработки текстов для формирования краткого описания. Загружает экстендер summary. В контроллере site_content есть дополнительное правило для обрабатываемого текста: по умолчанию на обработку отправляется поле content. Но если поле introtext не пустое, то текст именно из этого поля будет передан в дополнение summary. Аналогичным образом себе ведет и контроллер onetable.
Возможные значения — cтрока сформированная по правилам экстендера summary:
действие1:параметр1,действие2:параметр2А:параметр2Б,действие3
Значение по умолчанию — пусто.
&introField
Имя поля для источника краткого описания текста из contentField. Используется только если загружен экстендер summary.
Значение по умолчанию — пусто.
&contentField
Имя поля в котором хранится основной текст документа. Используется только если загружен экстендер summary
Значение по умолчанию — пусто.
&e
Экранирование значений полей. Имена полей доступны в шаблонах через плейсхолдеры с префиксом e: , .
Возможные значения — имена полей, через запятую.
&jotcount
Добавляет в выборку количество комментариев JotX с помощью экстендера jotcount.
Возможные значения — 1 или 0.
Значение по умолчанию — 0.
Использование getPage для постраничной навигации
В сочетании с getPage getResources позволяет делать мощные и гибкие нумерации ваших страниц.
Примеры
Берет первые 10 ресурсов, отсортированные по дате публикации (publishedon), которые внутри ресурса с ID 17, не больше чем на 2 уровня в глубину, с шаблоном ‘blogListPost’, включая переменные шаблона (TV) и содержимое (content):
] <div class="paging"> <ul class="pageList"> ] </ul> </div>
и чанк blogListPost:
<div class="blogPost"> <div class="date">]</div> <h2><a href="]]]" title="]">]</a></h2> <p class="author"><strong>Author:</strong> <span class="author">]</span></p> <p class="summary">]</p> <p class="readmore"><a href="]]]"><span>Read more</span></a></p> <div class="clear"></div> </div> <hr/>
Дополнительная информация
При переносе чанков с getResources, довольно распространённой ошибкой является использование модификатора strtotime, для форматирования даты.
Дело в том, что даты ресурсов и так хранятся в виде timestamp, но конвертируются в нормальные даты из-за использования объектов modResource — так запрограммировано в его свойствах. А потом, для форматирования даты, их нужно перевести обратно в timestamp. Выходит двойная ненужная конвертация.
pdoTools же работает напрямую с базой данных, без создания объектов и конвертации их значений, поэтому в чанк приходит timestamp, который не нужно дополнительно обрабатывать. Вы можете сразу применять модификатор date к значениям:
Это касается работы с датами ресурсов и в других сниппетах pdoTools.
- 2.88
Голосов: 376 | Просмотров: 8115
Примеры использования Fenom MODX (шпаргалка)
2 способ:
Если необходимо вызвать pdopage без параметров:
Вывод полного URL адреса текущей страницы вместе с протоколом + canonical
Убираем циклическую ссылку с главной страницы
Многие SEO специалисты (в том числе я), считают к примеру что логотип на главной странице не должен вести на нее же, поэтому можно написать такое условие.
Часто карусели используются только на главной странице и чтобы не городить отдельный шаблон для главной, можно вынести слайдер в отдельный чанк и далее вызвать такой конструкцией:
Вырезаем пробелы из телефона
Допустим у нас стоит ClientConfig и мы создали системную настройку phone со значение 8 800 7000 700 и нам нужно убрать пробелы из значения tel, тогда вызов будет следующим:
В следующих уроках мы начнем производить натяжку верстки на modx и я буду приводить код в обоих шаблонизаторах, делайте на том, к которому душа ближе лежит, но советую использовать fenom.
Форматирование дат и времени в MODX MODX чанки (chunks) >
Описание функции СОРТПО
Функция СОРТПО является одной из семи функций, которые Microsoft анонсировала 24 сентября 2018 года вместе с революционным нововведением использования динамических массивов в Excel. Данная функция, как и остальные 6, и возможность использования динамических массивов, не должна быть доступна пользователям, купившим Office 2019 и, тем более, более ранним версиям.
Воспользоваться новыми возможностями смогут пользователи с подпиской Office 365, а в будущем пользователи Office 2021 (следующей версией, которая следует за Office 2019), если к тому времени Microsoft попросту не оставит только вариант с подпиской.
Данная функция позволяет очень просто отсортировать значения в диапазоне, как по возрастанию, так и по убыванию. Основное отличие данной функции от СОРТ заключается в том, что СОРТПО позволяет выполнить сортировку по нескольким столбцам диапазона, например, сначала по фамилии, потом по имени, потом по отчеству. Функция СОРТ, в свою очередь, может предложить горизонтальную сортировку.
Для сортировки массива по одному столбцу, и СОРТ, и СОРТПО равнозначны.
Синтаксис
Аргументы
Обязательный. Массив или диапазон для сортировки
Обязательный. Массив или диапазон для сортировки по
Не обязательный. Порядок, используемый для сортировки. 1 для сортировки по возрастанию,-1 — по убыванию. По умолчанию используется значение по возрастанию.
Не обязательный. Массив или диапазон для сортировки по
Не обязательный. Порядок, используемый для сортировки. 1 для сортировки по возрастанию,-1 — по убыванию. По умолчанию используется значение по возрастанию.
Замечания
- Массив может рассматриваться как ряд значений, столбец со значениями или комбинация строк и столбцов значений. В приведенном выше примере массив для формулы СОРТПО представляет собой диапазон D2:E9. В примере происходит сортировка связки Имя+Возраст по возрасту
- Функция СОРТПО будет возвращать массив, который будет рассеиваться, если это будет конечным результатом формулы. Это означает, что Excel будет динамически создавать соответствующий по размеру диапазон массива при нажатии клавиши ВВОД. Если ваши вспомогательные данные хранятся в таблице Excel, тогда массив будет автоматически изменять размер при добавлении и удалении данных из вашего диапазона массива, если вы используете Структурированные ссылки.
Ввод данных
Шаг 1: Установка
Убедитесь, что вы установили MIGX, настроили MIGX TV, применили его к шаблону, и создал ресурс с этим шаблоном.
Шаг 2: Ввод данных
- Зайдите в ваш ресурс, а затем перейдите на вкладку «Дополнительные поля». Вы должны увидеть новое дополнительное поле.
- Нажмите на кнопку «Добавить» Заполните поля, которые вы определили в настройках дополнительного поля. Если вы не видите никаких полей, убедитесь, что заполнили поле «Вкладки формы» соблюдая синтаксис JSON (Иногда при копировании примеров вы можете вставить неразрывные пробелы вместо обычных, в таком случае JSON не будет валидным)
- Нажмите кнопку «Готово»
- Нажмите кнопку «Сохранить», чтобы сохранить ресурс
Шаг 3: Изменение данных
Щелкните правой кнопкой мыши на любом элементе. Выберите либо Update, дублировать или удалить.
Шаг 4: Упорядочивание данных
Зажмите и перетащите элемент, чтобы изменить его положение в таблице.
Полноценное включение Fenom
На обработку шаблонизатором влияют следующие системные настройки:
- pdotools_fenom_default — включает обработку через Fenom чанков pdoTools. Включено по умолчанию.
- pdotools_fenom_parser — включает обработку шаблонизатором всех страниц сайта. То есть, не только чанков, но и шаблонов. Есть один нюанс — шаблонизатор может неверно реагировать на фигурные скобочки, которые в MODX очень любят — решение проблем ниже.
- pdotools_fenom_php — включает поддержку PHP функций в шаблонизаторе. Очень опасная функция, так как любой менеджер получит доступ к PHP прямо из чанка.
- pdotools_fenom_modx — добавляет системные переменные и в шаблоны Fenom. Тоже очень опасно — любой менеджер может управлять объектами MODX из чанков.
- pdotools_fenom_options — JSON строка с массивом настроек согласно официальной документации. Например:
- pdotools_fenom_cache — кэширование скопмилированных шаблонов. Имеет смысл только для сложных чанков на рабочих сайтах, по умолчанию отключено.
Примеры
Вывод списка дочерних ресурсов текущего ресурса, используя чанк ‘myRowTpl’:
]` &tpl=`myRowTpl`]]
Вывод всех дочерних ресурсов ресурса с ID ‘5’, за исключением ресурса 10, используя чанк ‘myRowTpl’:
]
Вывод всех дочерних ресурсов ресурса с ID ‘5’, за исключением текущего ресурса, используя чанк ‘myRowTpl’:
]` &tpl=`myRowTpl`]]
Вывод всех дочерних ресурсов ресурса с ID ‘5’ с сортировкой как в дереве ресурсов используя чанк ‘myRowTpl’:
]
Вывод только заданных ресурсов, используя чанк ‘myRowTpl’:
]
Вывод последних 5 опубликованных ресурсов, у которых родительский ресурс с ID ‘5’, используя шаблон ‘blogPost’:
]
Вывод списка дочерних ресурсов текущего ресурса, основанного на шаблоне ресурсов:
]` &where=`{"template:=":8}` &tpl=`myRowTpl`]]
Вывод списка дочерних ресурсов текущего ресурса, где ID шаблона ресурсов равен 1 или 2:
]` &where=`{"template:=":1, "OR:template:=":2}` &tpl=`myRowTpl`]]
Вывод списка дочерних ресурсов текущего ресурса, где ID шаблона ресурсов равен 1, 2 или 3 (вы не можете использовать тот же ключ больше одного раза):
]` &where=`{"template:IN":}` &tpl=`myRowTpl`]]
Показ сообщения, когда ничего не найдено (эквивалент «empty» в Ditto):
]` &tpl=`myRowTpl`]]
Модификатор UserInfo
Прямой доступ к данным из таблицы modx_user_attributes в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:
Поле профиля | Пример |
---|---|
Внутренний ключ профиля | |
Логин | |
Полное имя | |
Роль | |
Телефон | |
Мобильный телефон | |
Факс | |
Дата рождения | |
Пол | |
Страна | |
Область | |
Почтовый индекс | |
Фото | |
Комментарий | |
Пароль | |
Временный пароль | |
Последняя авторизация | |
Дата текущей авторизации | |
Количество авторизаций |
возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.
Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:
- — Выведет идентификатор пользователя
- — Выведет логин пользователя
- — Полное имя пользователя
- — Дата рождения
Особое внимание обращаем на восклицательный знак ]. Он позволяет НЕ кэшировать содержимое вывода
Почему нужно не кешировать? Представим это так: на сайте 5 пользователей. Первый пользователь зашел на страницу с вызовом:
Добро пожаловать, ]!
По задумке на этой странице, выводится приветственное сообщение пользователю. Так вот, если результат будет кешироваться, то при первом входе на эту страницу — сохранится имя пользователя который только что зашел — и всем остальным будет показываться не их имя, а имя того пользователя который вошел на эту страницу первым. Чтобы этого избежать — просто не кэшируем этот тэг, с помощью восклицательного знака перед вызовом [[!+modx…
Создание пользовательского модификатора
Любой сниппет может использоваться как модификатор вывода. Для этого просто укажите имя сниппета вместо модификатора. К примеру, создадим сниппет , добавляющий к выводу определенное количество восклицательных знаков:
Такой вызов тега передаст в сниппет makeExciting следующие параметры для обработки:
Параметр | Значение | Значение в примере | Комментарий |
---|---|---|---|
input | Значение элемента | $input = `]`; | Значение элемента, к которому применяется модификатор. |
options | Значение модификатора | $options = ; | Дополнительные параметры (после знака ) |
token | Тип элемента | $token = ; | Cимвол, определяющий тип тега. |
name | Имя элемента | $name = `pagetitle`; | Имя плейсхолдера, к которому применяется модификатор. |
tag | Весь тег полностью | $tag = `]`; | Весь тег, полностью. |
Приведем пример кода нашего сниппета makeExciting:
Тег выводит всё, что возвращает сниппет. В нашем случае он вернет значение тега с четырьмя восклицательными знаками.
Если сниппет вернет пустую строку, то на страницу будет выведено изначальное значение тега.
Вывод данных через getImageList
Отображение элементов MIGX
В комплекте с пакетом MIGX поставляется сниппет , который подходит для вывода данных из заполненного TV MIGX. Не смотря на название он может быть использован не только для вывода изображений, но для всех типов данных. Это что-то вроде getResources, но специально для MIGX.
getImageList может быть использован для организации любой структуры данных, например:
- галерея изображений
- слайдер с картинками или HTML
- табличные данные
- CSV или XML
- Что угодно на самом деле
Пример использования getImageList
Давайте выведем изображения, которыми мы заполнили TV MIGX на . Вставьте этот код там, где вы хотите увидеть картинки.
- ]<img src=»]»/><p>]</p></li> `]]
tvname — название TV-поля. tpl — шаблон вывода. В tpl вы можете указать как название чанка, так и строку кода. Убедитесь, что указали , если решили использовать указать шаблон строчно. При использовании чанка достаточно указать только название этого чанка.
Вывод с использованием RezImgCrop:
Использование переменных из getResources в getImageList
Если вы хотите использовать переменные, поставляемые в шаблон getResources внутри шаблона getImageList вы можете передать эти данные в параметрах вызова getImageList. Вы можете задать произвольные имена этим параметрам, а вызывать их с помощью конструкции ] в шаблоне getImageList.
Параметры сниппета getImageList
Ключ | Описание | |
---|---|---|
tvname | Название дополнительного поля, которое нужно вывести | |
tpl | Название чанка для вывода. Можно также использовать конструкции или . Если оставить поле пустым, то будет выведен массив (как через pront_r в php) | |
wrapperTpl | Название чанка-обертки для результата работы сниппета. Принимает только один плесхолдер — . Как вывести getImageList только если он не пустой | |
docid | ID ресурса, дополнительное поле которого нужно вывести. Пригодится при выводе в шаблоне getResources: | ] |
value | Можно указать данные в формате JSON, вместо использования данных из TV-поля. Если указан, то и code{ignored} игнорируются. | |
limit | Если не ноль, то указывает сколько выводить элементов | |
offset | Кол-во элементов, которые нужно пропустить. | |
totalVar | Плейсхолдер, содержащий общее количество элементов. Полезно при использовании getPage. | total |
randomize | Укажите если хотите организовать вывод в случайном порядке | |
preselectLimit | together with &randomize, this will preselect items from top to limit, for images you want to see in any case in ranomized output | 5 |
where | Отфильтровать элементы. Пример: | |
sort | Сортировка может быть по нескольким полям одновременно. Пример: | |
toPlaceholder | Название плейсхолдера, в который следует поместить результат работы сниппета. К примеру есть указать , то результат будет доступен в ]. Примечание переводчика — почему-то этот плесхолдер не проходит проверку на пустоту. Чтобы решить эту проблему пользуйтесь wrapperTpl | |
toSeparatePlaceholders | Разделяет результат работы сниппета на отдельные плейсолдеры. Например есть указать , то результат ля каждого элемента будет сохранен в отдельном плейсхолдере: ] ] …… | |
placeholdersKeyField | Применяется только в связке с &toSeparatePlaceholders. Пример: — получим ] ] …… | |
outputSeparator | Разделитель у элементов | |
toJsonPlaceholder | output items as json into a placeholder, usefull when you want for example show randomized items on different places. example: &toJsonPlaceholder=`jsonoutput` -> ]`…………….]] | |
jsonVarKey | example: &jsonVarKey=`MIGX_json` — this will use the value from $_REQUEST as value, if any useful together with the backend-preview-feature | MIGX_outputvalue |
Пример вывода информации из таблицы отличной от site_content
Чанк snippet
<div class="row"> <div class="span12"> <h3 class="pagination-centered"></h3> <code></code><br /> <table class="table table-striped table-bordered"> <thead> <tr><td><strong>field</strong></td><td><strong>value</strong></td></tr> </thead> <tbody> <tr><td>id</td><td></td></tr> <tr><td>name</td><td></td></tr> <tr><td>description</td><td></td></tr> <tr><td>editor_type</td><td></td></tr> <tr><td>category</td><td></td></tr> <tr><td>cache_type</td><td></td></tr> <tr><td>locked</td><td></td></tr> <tr><td>properties</td><td></td></tr> <tr><td>moduleguid</td><td></td></tr> </tbody> </table> </div> </div> <hr />
В данном примере информация будет выводиться из таблицы site_snippets. В качестве колонки PrimaryKey выступает поле id. Сортировка происходит по возрастанию значений в колонке name.
Вывод поля MIGX в шаблоне
Для простеньких конструкций как в данном уроке можно вывести так:
где tvname название ТВ в MIGX
а tpl — чанк с разметкой кода с выводом TV
Вывод при помощи Fenom.
Вывод TV поля MIGX одного ресурса на другом
Часто на сайтах есть сквозные блоки, которые выводятся на многих страницах, чтобы не заполнять одно и тоже на разных ресурсах, можно вывести заполненные поля с одного ресурса на другом, для этого добавьте в вызов параметр docid — id ресурса где заполнено поле.
вывод при помощи fenom:
Обработка изображений при выводе через феном.
Если вы используете источник файлов не по умолчанию, то картинки у вас не выведутся, т.к. путь до источника файлов не подтягивается и его нужно указывать в ручную.
Обрезка изображений: к примеру требуется резать изображения до определенного размера при помощи сниппета pthumb, тогда в вызов нужно добавлять такую конструкцию.
С этим читают