Найти в Дзене

MODX + MIGX и Fenom. Имба связка.

Я думаю у многих, у кого есть сайт на MODX установлен пакет MIGX. Он идеально подходит для всяких магических штук, например создать таблицу с пользовательскими данными для каждой страницы или слайдер, или вывести портфолио работ. В общем, все те случаи, когда менеджеру необходимо из админки заполнять однотипные данные для каждого ресурса, при этом не лезть в код. Стандартный вывод MIGX выглядит вот так: [[getImageList? &tvname=` slider_main ` &tpl=`@CODE:
<li>
<h2>[[+set]]</h2>
<h3>[[+description]]</h3>
<img src="[[+image]]" />
</li>` ]] При выводе больших MIGX таблиц (более 100 элементов, или при выводе 3-4 MIGX таблиц на страницу, вы столкнетесь с долгой загрузкой. Решением, возможно, будет использование пакета на подобие сниппета getCache, но идеальным вариантом будет манипуляция стандартными средствами шаблонизатора FENOM). P.S Убедитесь что у вас установлен пакет pdoTools и FENOM включен в системных настройках! В системных настройках p

Я думаю у многих, у кого есть сайт на MODX установлен пакет MIGX. Он идеально подходит для всяких магических штук, например создать таблицу с пользовательскими данными для каждой страницы или слайдер, или вывести портфолио работ.

В общем, все те случаи, когда менеджеру необходимо из админки заполнять однотипные данные для каждого ресурса, при этом не лезть в код.

Стандартный вывод MIGX выглядит вот так:

[[getImageList?
&tvname=` slider_main `
&tpl=`@CODE:
<li>
<h2>[[+set]]</h2>
<h3>[[+description]]</h3>
<img src="[[+image]]" />
</li>`
]]

При выводе больших MIGX таблиц (более 100 элементов, или при выводе 3-4 MIGX таблиц на страницу, вы столкнетесь с долгой загрузкой. Решением, возможно, будет использование пакета на подобие сниппета getCache, но идеальным вариантом будет манипуляция стандартными средствами шаблонизатора FENOM).

P.S Убедитесь что у вас установлен пакет pdoTools и FENOM включен в системных настройках!

В системных настройках pdotools_fenom_parser (Использовать Fenom на страницах) поставьте в ДА.

{set $rows = json_decode($_modx->resource.slider_main, true)}
{foreach $rows as $row}
<h2>{$row.set}</h2>
<h3>{$row.description}</h3>
<img src="{$row.image}" />
{/foreach}

Пояснение: по сути TV с типом MIGX это json-поле, через Fenom мы можем преобразовать его в массив и вывести в цикле, без всяких сниппетов. Это даст значительный прирост скорости при рендеринге страницы.

Если нужно вывести MIGX объект для определенного ресурса тогда 1 строку нужно заменить на:

{set $rows = json_decode (11 | resource: ' slider_main ', true)}

Где 11 - это ID ресурса с привязанным MIGX TV

-2
Если я вам хоть чуть-чуть помог - ставьте лайк, мне будет приятно, комментируйте, если что-то не понятно.
С уважением web-rocket.by