将变量传递给Symfony2中的Assetic资产URL

ed2*_*209 13 php symfony assetic

有没有办法将变量传递给模板中的Assetic方法

{% stylesheets
    '@SomeExampleBundle/Resources/views/ SOMEVAR /css/*'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)

所以我想做的是SOMEVAR从控制器传递.

Cho*_*hop 25

通过这种方式可以:

<link rel="stylesheet" href="{{ asset('bundles/yourbundle/css/'~ SOMEVAR ~'/css/' ) }}" />
Run Code Online (Sandbox Code Playgroud)

  • 这不是使用`assetic`,而是使用symfony的`asset`功能.你不能使用过滤器 (6认同)

Mat*_*att 18

就目前而言,我认为根本不可能.这背后的原因Assetic是预先运行以转储资产​​,因此它不会运行Twig模板来计算变量.如果你在PHP模板中这样做,这可能是相同的.

这意味着不会计算和扩展运行时变量.因此,如果使用变量,则无法生成资产.这可能在将来发生变化,但每次用户请求资产时都会产生生产开销,因为Assetic需要生成资产.

我知道可以通过使用Assetic直接找到的代码(而不是使用AsseticBundle)以编程方式定义和生成资产.您将需要进行实验,阅读源代码,并进行试验和错误以解决此问题.

目前几乎没有文档Assetic.我能给出的唯一链接是在这里README的Assetic的github页面上找到的.我希望这会很快改变.

希望这可以帮助.