1

我正在寻找在树枝中扩展样式表列表。我已经尽可能地精简了代码来说明我试图实现的目标。

base.html.twig

<!DOCTYPE html>
<html>
  <head>
    <title>Some title</title>

    {% block stylesheets %}
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="css/bootstrap-responsive.min.css" rel="stylesheet" media="screen">
    <link href="css/custom-theme/jquery-ui-1.10.0.custom.css" rel="stylesheet" media="screen">
    {% endblock %}

  </head>

  <body>
    {% block content %}
        .. content for body goes here etc
    {% endblock content %}

  </body>

<!-- rest of template --!>

然后我重用基本模板,但我不想重新列出所有样式表,我只想在列表末尾添加一个?

使用 base 的模板

{% extends 'sjQueryBundle::base.html.twig' %}

{% block stylesheets %}
<link href="css/sales-journal.css" rel="stylesheet" media="screen">
{% endblock %}

{% block content %}
  some template stuff here
{% endblock content %}

上面的问题是它完全替换了样式表块我只是想将 sales-journal.css 添加到最后?

4

2 回答 2

8

您只需要调用parent()方法,该方法将呈现父块的内容

{% block stylesheets %}
    {{ parent() }}
    <link href="css/sales-journal.css" rel="stylesheet" media="screen">
{% endblock %}
于 2013-02-12T10:51:41.793 回答
3

作为@thecatontheflat 的补充,我建议您使用 Assetic 进行资产管理。看看:http ://symfony.com/doc/current/cookbook/assetic/asset_management.html

使用 Assetic,您可以使用过滤器(例如 SASS 或 LESS),将多个文件合并为一个,缩小代码......等等!

例如,要使用 Assetic,您只需要以这种方式更改您的代码:

{% block stylesheets %}
    {% stylesheets 'css/bootstrap.min.css' 'css/bootstrap-responsive.min.css' 
                   'css/custom-theme/jquery-ui-1.10.0.custom.css' 
                   output='css/styles.css' %}
    <link rel="stylesheet" href="{{asset_url}}" />
{% endblock %}
于 2013-02-12T11:09:58.577 回答