1

Тема: Условие на проверку изображения к категории

в list_products.tpl в цикле вывел изображение к категории, но у меня не получается написать условие, что бы она (изобр.) не выводилась если не загружена.

{foreach from=$sub_dirs item=item}
     <img src="{$item->__image->getUrl(310, 310, 'xy')}" />
     <a href="{urlmake category=$item._alias p=null f=null bfilter=null}">{$item.name}</a>
/foreach}

ps: Пытался использовать empty, но переменная не пустая.

Повысить оценку Понизить оценку

2 Отредактировано Александр (24.09.2015 18:31:55)

Re: Условие на проверку изображения к категории

Всё достаточно просто...
Когда значение картинки есть, то оно присутствует в массиве самого объекта, который Вы перебираете. У Вас не получалось его не выводить, т.к. Вы обращались к объекту не как к массиву, а как к protected свойству объекта (из-за двойного подчёркивания __image), а оно в любом случае будет объектом изображения (\RS\Orm\Type\Image), т.к. оно в классе самого ORM объекта определено как объект картинки. Но если вы обращаетесь к ORM объекту как к массиву, то он либо даёт значение картинки(название файла), либо возвращает false.
Т.е. Вам достаточно проверить как:

{foreach $sub_dirs as $item} {* Перебор директорий *}
     {if $item.image}{* Если картинка cуществует *}
          <img src="{$item->__image->getUrl(310, 310, 'xy')}" /> {* Получаем картинку через объект *}
          <a href="{urlmake category=$item._alias p=null f=null bfilter=null}">{$item.name}</a>
     {else}
           {* Если картинка не существует *}
     {/if}
{/foreach}

3

Re: Условие на проверку изображения к категории

Спасибо большое, работает!

Повысить оценку Понизить оценку