在Twig模板Symfony中包含功能

时间:2016-02-25 11:41:36

标签: php symfony twig

Hello Guys我是symfony和twig的新手,我正在尝试achiv是这样的:

在我的base.html.twig文件中,我尝试包含('article.html.twig')一切正常,直到我尝试覆盖(扩展)来自article.html的base.html.twig中的样式表块。枝条。

我收到一条错误消息,如果我扩展base.html.twig(我知道它的工作原理是这样,但它不是我想要的),这只能得到这个消息。

我希望事实上附加到article.html.twig css和与此模板中的html相关的javascript,并且每当我包含模板时,它们只会在页面的部分中链接(由浏览器加载)在任何其他模板中。它应该像独立组件(webpart)或其他任何组件一样工作。

你们有没有人知道这样的事情是否可能?

提前致谢。

这是base.html.twig:

<!DOCTYPE html>
<head>
    <meta charset="UTF-8" />
    {% block stylesheets %}
    <link rel="stylesheet" type="text/css" media="all" href="{{ asset('style.css') }}" />
    {% endblock %}
</head>
<body>
<p>Test include:</p>
{{ include('article.html.twig') }}
</body>

这是article.html.twig

{% block stylesheets %}
{{ parent() }}
<link rel="stylesheet" type="text/css" media="all" href="{{ asset('custom.css') }}" />
{% endblock %}
<div id="article">
     This is an Article!
</div>

1 个答案:

答案 0 :(得分:0)

抱歉,我刚刚再次阅读了您的问题,现在我完全理解您要实现的目标。

不幸的是,无法覆盖include中的块。它与错误消息的状态完全相同......如果扩展原始模板,则只能覆盖块。