【发布时间】:2012-11-11 21:07:30
【问题描述】:
我像这样在资产上添加图片:
{% image '@MyBundle/Resources/public/img/name.png' %}
<img src="{{ asset_url }}"/>
{% endimage %}
对我来说很好,但我想少写一些,所以我尝试创建一个像 symfony2 文档中那样的 twig 函数。但我不使用任何过滤器:
assetic:
debug: "%kernel.debug%"
use_controller: false
bundles: [MyBundle]
#java: /usr/bin/java
filters:
cssrewrite: ~
twig:
functions:
timg: ~
但如果我现在使用它:
<img src="{{ timg('@MyBundle/Resources/public/img/name.png') }}" />
我得到了例外:
在编译模板期间引发了异常(“可捕获的致命错误:传递给 Twig_Node_Expression_GetAttr::__construct() 的参数 3 必须是 Twig_Node_Expression_Array 的实例,给定的 Twig_Node 的实例,在 C:\wamp2\www 中调用\symfony\vendor\symfony\assetic-bundle\Symfony\Bundle\AsseticBundle\Twig\AsseticNodeVisitor.php 在第 66 行并在 C:\wamp2\www\symfony\vendor\twig\twig\lib\Twig\Node\Expression 中定义\GetAttr.php 第 14 行") 在 "::top.html.twig" 中。
有什么想法吗?也许我不能只使用没有过滤器的短语法函数?
【问题讨论】:
-
symfony.com/doc/current/cookbook/assetic/… 在这里我得到了这个简短sintax的想法
标签: php image symfony twig assetic