这是我的代码:
{% block js %}
{% javascripts filter='?yui_js' output='js/m/myfiles.js'
'@MyBundle/Resources/public/js/m/one.js'
'@MyBundle/Resources/public/js/m/two.js'
'@MyBundle/Resources/public/js/m/three.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
我希望能够根据变量更改输出值。
类似的东西:
{% set myOutput = 'js/m/myfiles_v2.js'%}
{% block js %}
{% javascripts filter='?yui_js' output=myOutput
'@MyBundle/Resources/public/js/m/one.js'
'@MyBundle/Resources/public/js/m/two.js'
'@MyBundle/Resources/public/js/m/three.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
但是,当我这样做时,我得到“意外的令牌”名称“有价值”myOutput“(”字符串“预期)。有没有办法解决这个问题?
答案 0 :(得分:0)
我认为您需要创建自己的资产过滤器,它将扩展yui_js过滤器和覆盖函数以创建名称。
Assetic过滤器是一种服务实现FilterInterface。
以下是您过滤为服务的示例定义:
<service id="my.if.filter" class="MyBundle\FilterClass">
<tag name="assetic.filter" alias="my_alias" />
<argument></argument>
<argument>....</argument>
</service>
这是一个教程:
http://richardmiller.co.uk/2011/05/24/symfony2-make-your-own-assetic-filter/