0

これが私のコードです:

{% 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」の「予期しないトークン「名前」(「文字列」が期待されます)が表示されます)。これを回避する方法はありますか?

4

1 に答える 1

0

名前を作成するためにyui_jsフィルターと上書き関数を拡張する独自のアセットフィルターを作成する必要があると思います。

Assetic filterは、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/

于 2013-02-19T20:06:13.360 に答える