Skip to main content

pdoResources

Пример использования pdoResources, выводит ресурсы MODX, а в качестве изображения используется 1 изображения из галереи.

[[!pdoResources?
    
    
    &tpl=`ListRowTpl`
    &includeContent=`1`
    &leftJoin=`{
        "Image": {
            "class": "Gallery3x\\Model\\Gallery3xFile",
            "on": "modResource.id = Image.resource_id AND Image.position = 0 AND Image.active = 1"
        }
    }`
    &select=`{
        "modResource": "*",
        "Image": "Image.id as image_id, Image.alt as image_alt"
    }`
]]

Чанк ListRowTpl

 

{* Вызываем сниппет g3xGetImage, передавая ему ID картинки *}
{set $image_url = $_pls['image_id'] | g3xGetImage : 'small'}
{set $uri = $_modx->makeUrl($_pls.id)}

<div class="catalog-item">
{$image_url}
{if $image_url}
<a href="{$uri = $_modx->makeUrl($_pls.id)}">
<img src="{$image_url}" alt="{$_pls['image_alt'] ?: $_pls['pagetitle']}">
</a>
{else}
<a href="{$_pls.uri}">
<img src="/assets/images/no-image.png" alt="{$_pls.pagetitle}">
</a>
{/if}

<h3><a href="{$uri}">{$_pls.pagetitle}</a></h3>
<p>{$_pls.introtext}</p>
</div>