我像这样在资产上添加图片:
{% 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" 中。
有任何想法吗?也许我不能在没有过滤器的情况下仅将函数用于短语法?