Modx. getresources компонент для вывода ресурсов

Содержание

Простой пример без пагинации

Выборка последних 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: Ввод данных

  1. Зайдите в ваш ресурс, а затем перейдите на вкладку «Дополнительные поля». Вы должны увидеть новое дополнительное поле.
  2. Нажмите на кнопку «Добавить» Заполните поля, которые вы определили в настройках дополнительного поля. Если вы не видите никаких полей, убедитесь, что заполнили поле «Вкладки формы» соблюдая синтаксис JSON (Иногда при копировании примеров вы можете вставить неразрывные пробелы вместо обычных, в таком случае JSON не будет валидным)
  3. Нажмите кнопку «Готово»
  4. Нажмите кнопку «Сохранить», чтобы сохранить ресурс

Шаг 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. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:

Поле профиля Пример
Внутренний ключ профиля
Логин
Полное имя
Роль
E-mail
Телефон
Мобильный телефон
Факс
Дата рождения
Пол
Страна
Область
Почтовый индекс
Фото
Комментарий
Пароль
Временный пароль
Последняя авторизация
Дата текущей авторизации
Количество авторизаций

 возвращает 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, тогда в вызов нужно добавлять такую конструкцию.


С этим читают