symfony多语言模板

时间:2014-10-30 07:22:07

标签: php twig symfony-2.5

我对css文件有以下结构 上市   - css   - fr  --- style.css   - 恩  --- style.css

css文件夹包含fr和en文件夹

我在我的模板中包含了CSS样式表,如下所示:

{% stylesheets '@AtgNewsBundle/Resources/public/css/*' filter='cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

所以我需要将fr或en文件夹包含为用户选择

我尝试了以下但不起作用

{% stylesheets '@AtgNewsBundle/Resources/public/css/{app.request.getLocale()}/*' filter='cssrewrite' %}

{% stylesheets '@AtgNewsBundle/Resources/public/css/{{app.request.getLocale()}}/*' filter='cssrewrite' %}

{% stylesheets '@AtgNewsBundle/Resources/public/css/"{{app.request.getLocale()}}"/*' filter='cssrewrite' %}

任何帮助,请

2 个答案:

答案 0 :(得分:0)

您应该使用正确的concatenate operator

{% stylesheets '@AtgNewsBundle/Resources/public/css/' ~ app.request.getLocale() ~ '/*' filter='cssrewrite' %}

如果你喜欢string interpolation(不太可读的恕我直言),你应该使用:

{% stylesheets '@AtgNewsBundle/Resources/public/css/#{app.request.getLocale()}/*' filter='cssrewrite' %}

答案 1 :(得分:0)

你可以这样做:

{% if app.request.locale=="fr" %}

{% stylesheets '@AtgNewsBundle/Resources/public/css/fr/*' filter='cssrewrite' %}

{% elseif app.request.locale=="en" %}

{% stylesheets '@AtgNewsBundle/Resources/public/css/en/*' filter='cssrewrite' %}

{% endif %}