我在TWIG模板中使用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 %}
mainPhoto存储与当前广告相关的照片路径 - 例如:
/uploads/2.png
使用“img”参数时,我有一个例外:
在渲染模板期间抛出异常(“路径”参数“路径”liip_imagine_filter“必须匹配”。+“(”“给定”)以生成相应的URL。“)。
在这种情况下定义路径的正确方法是什么?
答案 0 :(得分:3)
您只是将路径作为字符串传递给imagine_filter
,添加asset
它应该有效:
{% for ad in ads %}
{% set img = ad.mainPhoto|default %}
{% if img <> "" %}
<img src="{{ asset(img) | imagine_filter('thumb') }}" />
{% endif %}
{% endfor %}