我有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 nothing
template.html.twig:
{% extends 'base.html.twig' %}
默认/ dashboard.html.twig:
{% extends '::template.html.twig' %}
答案 0 :(得分:0)
在我看来,你的{% 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 %}
答案 1 :(得分:0)
有点晚了但由于还没有接受答案,我还是试一试。
我遇到了同样的事情,这解决了我,在我的情况下,它与基本模板的结构和你尝试扩展基本文件的当前模板有关,在我的情况下就我所知,你的代码与你的情况类似。
本例中的结构基本上是错误的:
<强>碱强>
{% 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 %}
我希望这可以帮助您解决问题。