gpt4 book ai didi

symfony - 多个模板中的 Twig Assetic 样式表

转载 作者:行者123 更新时间:2023-12-02 15:33:44 25 4
gpt4 key购买 nike

我正在尝试将样式表添加到数组中,以便当 Twig 模板延伸到第二层和第三层时,聚合的样式将继续下去。

此主题与 Combining Assetic Resources across inherited templates 相关

config.yml中,我创建了一个全局数组mystyles,以便我们可以在渲染过程中“冒泡”时将其添加到必要的样式列表中。

twig:
debug: %kernel.debug%
strict_variables: %kernel.debug%
globals:
mystyles: []

我的操作调用的第一个模板来自 CommunicatorBundle/Resources/views/Admin/Workspace.html.twig,我已为此页面设置了名为 admin.workspace 的特定样式.css

{% extends "DJCommunicatorBundle::base.html.twig" %}
{% set mystyles = ["@DJCommunicatorBundle/Resources/public/css/admin.workspace.css"]|merge(mystyles) %}

它扩展了CommunicatorBundle/Resources/views/base.html.twig,它有自己的要求data-table.css

{% extends "DJSharedBundle::base.html.twig" %}
{% set mystyles = ["@DJCommunicatorBundle/Resources/public/css/data-table.css" ]|merge(mystyles) %}

最后,我们加载最外面的模板,SharedBundle/Resources/views/base.html.twig,它有自己的样式要在所有其他模板之前添加。

<head>
{% set mystyles = ['@DJSharedBundle/Resources/public/css/global.css', '@DJSharedBundle/Resources/public/css/grid.990.9-col.css']|merge(mystyles) %}
{% stylesheets {{ mystyles }} %}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}
</head>

但是,它在这一行中断

{% stylesheets {{ mystyles }} %}

尽管这种类型的测试会以正确的顺序打印我期望的数组

{{ mystyles|join(', ') }}

似乎 {% stylesheets %} 标记想要像下面的代码片段一样工作(可以理解,它不是一个数组对象,而是一个空格分隔的分隔字符串列表)。

{% stylesheets 
'@DJSharedBundle/Resources/public/css/global.css'
'@DJSharedBundle/Resources/public/css/grid.990.9-col.css'
'@DJCommunicatorBundle/Resources/public/css/data-table.css'
'@DJCommunicatorBundle/Resources/public/css/admin.workspace.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" type="text/css" />
{% endstylesheets %}

即使如此,我也尝试将字符串设置为这么长的值并打印它,但这也不起作用:

{%
set str = "@DJSharedBundle/Resources/public/css/global.css
@DJSharedBundle/Resources/public/css/grid.990.9-col.css
@DJCommunicatorBundle/Resources/public/css/data-table.css
@DJCommunicatorBundle/Resources/public/css/admin.workspace.css"
%}
{% stylesheets {{ str }} %}

我觉得全局应该是一个可行的解决方案,尽管目前还没有发挥作用。希望我很接近。什么可以解决这个问题?

最佳答案

目前这是不可能的,因为 Assetic 静态分析您的模板以查找您在其中定义的任何资源。支持这些动态案例已列入路线图。

关于symfony - 多个模板中的 Twig Assetic 样式表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8949548/

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