Php 在细枝模板Symfony中包含函数

Php 在细枝模板Symfony中包含函数,php,symfony,twig,Php,Symfony,Twig,大家好,我是symfony和twig的新手,我想说的是: 在我的base.html.twig文件中,我尝试包含('article.html.twig'),直到我尝试从article.html.twig重写(扩展)驻留在base.html.twig中的样式表块为止,所有这些都可以正常工作 我收到一条错误消息,这只有在扩展base.html.twig时才能实现(我知道它是这样工作的,但这不是我想要的) 事实上,我想在article.html.twig上附加与此模板中的html相关的css和javas

大家好,我是symfony和twig的新手,我想说的是:

在我的base.html.twig文件中,我尝试包含('article.html.twig'),直到我尝试从article.html.twig重写(扩展)驻留在base.html.twig中的样式表块为止,所有这些都可以正常工作

我收到一条错误消息,这只有在扩展base.html.twig时才能实现(我知道它是这样工作的,但这不是我想要的)

事实上,我想在article.html.twig上附加与此模板中的html相关的css和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>

{%块样式表%}
{%endblock%}
测试包括:

{{include('article.html.twig')}
这是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>
{%block stylesheets%}
{{parent()}}
{%endblock%}
这是一篇文章!

对不起,我刚刚又读了一遍你的问题,现在我完全理解你想要达到的目标


不幸的是,无法从包含中重写块。这与错误消息中已经声明的完全一样。。。只有在扩展原始模板的情况下,才可以覆盖块。

你可以发布你的base和文章twig吗?你是否尝试在
base.html.twig的javascripts块中添加新块?
?我已将必要的代码部分上载到帖子中。你正在将article.html.twig包含到base.html.twig中为什么不只是在base.html.twig的普通样式表中设置样式?另外,我想你可能想做一些不同的事情。以下是文档:。当然我可以在base.html.twig中设置样式,但我希望将javascript样式表和html作为一个单元。我希望我的样式表和javascript只加载在我包含文章的页面上,最好是使用类似php函数require_的东西,这样它们只会链接/加载一次。我还希望将它们保持在一起,因为它们作为一个单独的单元,我希望将它们与include一起用作插件组件。我只是问twig是否有能力做这样的事情,因为我认为这是一个问题,但无法实现。