gpt4 book ai didi

php - Symfony2 - 如何在不丢失 Twig 和过滤器功能的情况下根据当前用户本地设置 CSS 路径

转载 作者:可可西里 更新时间:2023-11-01 13:30:28 27 4
gpt4 key购买 nike

我使用 Symfony2 进行多本地化元素,我根据当前用户本地在不同的文件夹上分离 (CSS/Images)。

文件夹结构示例:

Resources\
public\
css\
ar\
home.css
en\
home.css

**现在我需要 Assetic 根据当前用户本地渲染正确的 home.CSS 文件 {ar | zh} 不丢失 Twig 和过滤器功能**

示例 - 这不起作用:

{% stylesheets 
'bundles/atcopcore/css/{ app.request.locale }/home.css' filter='cssrewrite'
%}
<link rel="stylesheet" href="{{ asset_url }}" />

注意:我想利用 css compine,如果我执行以下操作则无法完成:

<link rel="stylesheet" href="{{ asset('css/' ~ app.request.locale ~ '/home.css') }}" />

我该怎么做...

我找到了一个link可能会有用,但我认为有更专业的方法可以做到这一点。

How to embed stylesheets with Assetic based on a value in the session

请问有什么建议吗?

最佳答案

Assetic 为您提供了解决问题的功能。

将此添加到您的配置

assetic:
# more from assetic
variables:
locale: [de, en, it, es] # whatever

在你的 Twig 文件中:

{% stylesheets  filter='cssrewrite' 'bundles/atcopcore/css/home.{locale}.css' %}
{% endstylesheets %}

<link href="{{ asset('bundles/atcopcore/css/home.' ~ app.request.locale ~ '.css') }}" rel="stylsheet" />

现在 assetic 将创建 4 个文件,home.de.css、home.en.css、home.it.css 和 home.es.css。在您的模板中,您决定应该加载哪个 CSS。

关于php - Symfony2 - 如何在不丢失 Twig 和过滤器功能的情况下根据当前用户本地设置 CSS 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25708729/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com