11 июля 2017 г., 6:00

Не выводятся изображения {$src}

Добрый день!
Нужна помощь в выводе изображений товаров. Делаю фильтр, который выводит по несколько товаров из каждой категории. Проблема в том, что процессор выводит только фото для тех товаров, которых в категории насчитывается менее 15. Товары вывожу так:


<ul class=" product-grid"> {$params = [ "limit" => 5, "cache" => 1, "sort" => "RAND()", "parent" => 5493 ]} {processor action="web/catalog/products/getdata" ns="modxsite" params=$params assign=item_result} {foreach $item_result.object as $item} {$options = "&w=190&h=180"} {$image = $item.image|default:$item.imageDefault} {$src = $modx->runSnippet('phpthumbof', [ "input" => $image, "options" => $options ])} <li class="isotope-item filter2" > <div class="product-container"> <div class="product-image"> <a href="{$item.uri}"> <img class="" src="{$src}" alt="{$item.pagetitle|@escape}"></a> </div> <div class="product-bottom"> <a class="product-name" href="{$item.uri}">{$item.pagetitle|@escape}</a> </div> </div> </li> {/foreach} {$params = [ "limit" => 5, "cache" => 1, "sort" => "RAND()", "parent" => 1203 ]} {processor action="web/catalog/products/getdata" ns="modxsite" params=$params assign=item_result} {foreach $item_result.object as $item} {$options = "&w=190&h=180"} {$image = $item.image|default:$item.imageDefault} {$src = $modx->runSnippet('phpthumbof', [ "input" => $image, "options" => $options ])} <li class="isotope-item filter1" > <div class="product-container"> <div class="product-image"> <a href="{$item.uri}"> <img class="" src="{$src}" alt="{$item.pagetitle|@escape}"></a> </div> <div class="product-bottom"> <a class="product-name" href="{$item.uri}">{$item.pagetitle|@escape}</a> </div> </div> </li> {/foreach} {$params = [ "limit" => 5, "cache" => 1, "sort" => "RAND()", "parent" => 2862 ]} {processor action="web/catalog/products/getdata" ns="modxsite" params=$params assign=item_result} {foreach $item_result.object as $item} {$options = "&w=190&h=180"} {$image = $item.image|default:$item.imageDefault} {$src = $modx->runSnippet('phpthumbof', [ "input" => $image, "options" => $options ])} <li class="isotope-item filter3" > <div class="product-container"> <div class="product-image"> <a href="{$item.uri}"> <img class="" src="{$src}" alt="{$item.pagetitle|@escape}"></a> </div> <div class="product-bottom"> <a class="product-name" href="{$item.uri}">{$item.pagetitle|@escape}</a> </div> </div> </li> {/foreach} {$params = [ "limit" => 5, "cache" => 1, "sort" => "RAND()", "parent" => 2010 ]} {processor action="web/catalog/products/getdata" ns="modxsite" params=$params assign=item_result} {foreach $item_result.object as $item} {$options = "&w=190&h=180"} {$image = $item.image|default:$item.imageDefault} {$src = $modx->runSnippet('phpthumbof', [ "input" => $image, "options" => $options ])} <li class="isotope-item filter4" > <div class="product-container"> <div class="product-image"> <a href="{$item.uri}"> <img class="" src="{$src}" alt="{$item.pagetitle|@escape}"></a> </div> <div class="product-bottom"> <a class="product-name" href="{$item.uri}">{$item.pagetitle|@escape}</a> </div> </div> </li> {/foreach} {$params = [ "limit" => 5, "cache" => 1, "sort" => "RAND()", "parent" => 6473 ]} {processor action="web/catalog/products/getdata" ns="modxsite" params=$params assign=item_result} {foreach $item_result.object as $item} {$options = "&w=190&h=180"} {$image = $item.image|default:$item.imageDefault} {$src = $modx->runSnippet('phpthumbof', [ "input" => $image, "options" => $options ])} <li class="isotope-item filter5" > <div class="product-container"> <div class="product-image"> <a href="{$item.uri}"> <img class="" src="{$src}" alt="{$item.pagetitle|@escape}"></a> </div> <div class="product-bottom"> <a class="product-name" href="{$item.uri}">{$item.pagetitle|@escape}</a> </div> </div> </li> {/foreach} </ul>
Помогите разобраться, в чем ошибка. Может это нужно делать другим процессором?
Какая версия shopmodx используется?
тогда нужен этот процессор (в этой версии цены хранятся в другой таблице). Ну или, если цены не нужны, можно использовать стандартный для документов

site/web/resources/getdata

Но написано всё верно, должно работать. картинки точно есть у всех товаров?

P.S.: рекомендую освоить версию 3.1 - она гораздо гораздее
картинки точно есть. Через pdoResources все выводится, но хотелось бы процессором.. Вы имеете ввиду shopmodxbox-3.1.1-beta?
Не совсем верно понял про версию. Если 2.1.1. - это версия именно shopmodx, а не shopmodxbox, то смело можно использовать web/resources/getdata, там цена хранится в самом документе.

web/catalog/products/getdata позволяет при указании category_id собрать товары из этой категории и всех вложенных в неё.

Но в любом случае всё должно работать. Код верный. Кэш почистить не пробовали? (локальный и на сервере)
Версия shopmodx 2.1.1-beta, версия shopmodxbox 2.6.2-beta, плюс еще shopmodxboxpatch 3.1.1-beta. Цена не нужна, нужно фото. Пробовал web/resources/getdata - результат тот же..
кинул в слэк картинку
процессор отрабатывает, но возможно что-то с самими картинками или связано с phpthumbof, проверьте. как вариант - попробуйте для начала выводить картинки напрямую, без обрезки
Все понял! Дело не в процессорах. Спасибо, скриншот все прояснил...
Ешё вариант - сразу после вызова процессора вставить

<pre>{print_r($item_result)}</pre>
на экране выведется raw-ответ процессора, и можно посмотреть, что он реально отдаёт

Добавить комментарий