我有
<div>
<div id="page-wrapper" class="sidebar-content white-bg">
<div class="row border-bottom">
{% include '/layouts/navbar.html.twig' %}
</div>
{% block body %}{% endblock %}
</div>
</div>
此/layouts/navbar.html.twig
中现在有一个锚标记,其href
属性在很大程度上取决于下面呈现的模板,例如,如果是Posts模板,则href应为/posts/new
,如果它是公告模板,则href应该是/announcements/new
,依此类推,这是否有可能?
答案 0 :(得分:1)
您可以使用全局变量_self
来解决此问题,例如
main.twig
s := a[x]
foo.twig和bar.twig
{% include "foo.twig" %}
{% include "bar.twig" %}
nav.twig
<div>
<div id="page-wrapper" class="sidebar-content white-bg">
<div class="row border-bottom">
{% include "nav.twig" with { 'template': _self, } %}
</div>
{% block body %}{% endblock %}
</div>
</div>
答案 1 :(得分:0)
如果路径是唯一依赖于当前模板的内容,那么我将修改DarkBee的示例以仅从父模板传递路径。这样,您就不需要if / else结构:
posts.twig:
<div>
<div id="page-wrapper" class="sidebar-content white-bg">
<div class="row border-bottom">
{% include "nav.twig" with { 'path': '/posts/new' } %}
</div>
{% block body %}{% endblock %}
</div>
</div>
announcements.twig:
<div>
<div id="page-wrapper" class="sidebar-content white-bg">
<div class="row border-bottom">
{% include "nav.twig" with { 'path': '/announcements/new' } %}
</div>
{% block body %}{% endblock %}
</div>
</div>
导航树枝:
{% for i in 0..3 %}
<a href="http://www.example.com/{{ path }}/{{ i }}">{{ i }}</a>
{% endfor %}