Symfony Liipimaginebundle-FOR循环中的图像

Symfony Liipimaginebundle-FOR循环中的图像,symfony,liipimaginebundle,Symfony,Liipimaginebundle,在细枝模板中使用Liipimaginebundle显示缩略图时遇到问题 我正在渲染索引: return $this->render('ad/index.html.twig', array( 'ads' => $ads, )); 在index.html.twig中,我使用FOR循环来显示与广告相关的缩略图 {% for ad in ads %} //with parameter - doesn't work {% set img = ad.main

在细枝模板中使用Liipimaginebundle显示缩略图时遇到问题

我正在渲染索引:

return $this->render('ad/index.html.twig', array(
        'ads' => $ads,
    ));
在index.html.twig中,我使用FOR循环来显示与广告相关的缩略图

{% for ad in ads %}
   //with parameter - doesn't work
   {% set img = ad.mainPhoto %}   
   <img src="{{ img | imagine_filter('thumb') }}" />  

   //working fine
   <img src="{{ asset('/uploads/2.png') | imagine_filter('thumb') }}" />
{% endfor %}
使用“img”参数时,我遇到了一个异常:

在呈现模板期间引发了异常(“路由“liip_imagine_filter”的参数“path”必须匹配“+”(“给定”)以生成相应的URL”)


在这种情况下,定义路径的正确方法是什么?

如果只将路径作为字符串传递给
imagine\u过滤器
,则添加
资产
,它应该可以工作:

{% for ad in ads %}
   {% set img = ad.mainPhoto|default %}
   {% if img <> "" %}
       <img src="{{ asset(img) | imagine_filter('thumb') }}" />  
   {% endif %}
{% endfor %}
{%用于ads%中的ad}
{%set img=ad.mainPhoto |默认值%}
{%if img”“%}
{%endif%}
{%endfor%}

您只将路径作为字符串传递给
imagine\u过滤器
,添加
资产
,它应该可以工作:

{% for ad in ads %}
   {% set img = ad.mainPhoto|default %}
   {% if img <> "" %}
       <img src="{{ asset(img) | imagine_filter('thumb') }}" />  
   {% endif %}
{% endfor %}
{%用于ads%中的ad}
{%set img=ad.mainPhoto |默认值%}
{%if img”“%}
{%endif%}
{%endfor%}

你能告诉我们
ad.mainPhoto
的类型和内容吗?@Veve ad.mainPhoto是一个带路径的字符串,例如/uploads/2.png你能告诉我们
ad.mainPhoto
的类型和内容吗?@Veve ad.mainPhoto是一个带路径的字符串,例如/uploads/2.png感谢帮助!这是我的错。。。不幸的是,我有一个没有“主要照片”的“广告”。。。这就是例外的原因。顺便说一句,img |想象一下过滤器(“拇指”)也能工作:)它能工作。。。直到您拥有不同的资产环境。(想想CDN,静态文件服务器,…)。我已经根据你评论的第一部分为主照片添加了一个验证。谢谢你的帮助!这是我的错。。。不幸的是,我有一个没有“主要照片”的“广告”。。。这就是例外的原因。顺便说一句,img |想象一下过滤器(“拇指”)也能工作:)它能工作。。。直到您拥有不同的资产环境。(想想CDN,静态文件服务器,…)。我已经根据你评论的第一部分为mainPhoto添加了一个验证。