我有一台base.html.twig template.html.twig和dashboard.html.twig。仪表板扩展了模板,模板扩展了基础。
基础:
{% block javascripts %}
<script src="1.js"></script>
{% endblock %}模板:
{% block javascripts %}
{{ parent() }}
<script src="2.js"></script>
{% endblock %}仪表板:
{% block javascripts %}
{{ parent() }}
<script src="3.js"></script>
{% endblock %}这种模板化设置导致了冗余的脚本标记,其中所有内容都是这样的
<script src="1.js"></script>
<script src="2.js"></script>
<script src="3.js"></script>
<script src="1.js"></script>
<script src="2.js"></script>
<script src="3.js"></script>我是不是遗漏了什么?为什么会发生这种情况?
Edit1:
base.html.twig:
extends nothingtemplate.html.twig:
{% extends 'base.html.twig' %}默认/dashboard.html.twig:
{% extends '::template.html.twig' %}发布于 2016-02-09 08:07:42
在我看来,你的{% extends "file" %}很糟糕。
解决方法:
模板:
{% extends "base_path" %}
{% block javascripts %}
{{ parent() }}
<script src="2.js"></script>
{% endblock %}仪表板:
{% extends "template_path" %}
{% block javascripts %}
{{ parent() }}
<script src="3.js"></script>
{% endblock %}发布于 2017-03-22 17:51:04
有点晚了,但由于还没有公认的答案,我会试一试。
我经历了同样的事情,这为我解决了这个问题,在我的例子中,它与基本模板和当前模板的结构有关,在我的例子中,你试图扩展基本文件的位置,在我的例子中,我从你的代码中可以看出,它处于与你的相似的情况。
基本上,本例中的结构是错误的:
基础:
{% block notAddedInTemplate %}
{% block javascripts %}
<script src="1.js"></script>
{% endblock javascripts%}
{% endblock notAddedInTemplate %}模板:
{% extends 'base.html.twig' %}
{% block javascripts %}
{{ parent() }}
<script src="2.js"></script>
{% endblock javascripts%}并且应该是:
基础:
{% block notAddedInTemplate %}
{% block javascripts %}
<script src="1.js"></script>
{% endblock javascripts%}
{% endblock notAddedInTemplate %}模板:
{% extends 'base.html.twig' %}
{% block notAddedInTemplate %}
{% block javascripts %}
{{ parent() }}
<script src="2.js"></script>
{% endblock notAddedInTemplate %}我希望这能帮助你解决你的问题。
https://stackoverflow.com/questions/35274568
复制相似问题