我是Symfony的初学者我的方法可能不是正确的做事方式,所以请帮助我做错了什么。在我的base.html.twig
我添加了一个'菜单模板' {% include'::menu.html.twig' %}
这包含所有正常工作的默认顶级菜单项。
现在我要做的是在about
页面上我需要额外的菜单选项'额外',它确实出现但不作为菜单的一部分。我想如果你打电话给parent()
,这应该就像你试图使用parent
这就是我about.html.twig
的样子
{% extends "::base.html.twig" %}
{% block topmenu %}
{{ parent() }}
<li><a href="">Extra</a></li>
{% endblock %}
{% block body %}
This is body
{% endblock %}
这就是我在浏览器中看到的,菜单选项额外需要成为菜单其余部分的一部分
我将非常感谢这里的任何帮助。
这就是我menu.html.twig
的样子
{% block topmenu %}
<header class="navbar navbar-inverse navbar-fixed-top wet-asphalt" role="banner">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html"><img src="" alt="logo"></a>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="">Home</a></li>
<li><a href="">About Us</a></li>
<li><a href="">Services</a></li>
<li><a href="">Portfolio</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Pages <i class="icon-angle-down"></i></a>
</li>
<li><a href="">Blog</a></li>
<li><a href="">Contact</a></li>
</ul>
</div>
</div>
</header>
{% endblock %}
答案 0 :(得分:0)
您应该在该路线上设置条件以显示此额外菜单,而不是尝试在特定路线上为您的模板添加额外的行:
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="">Home</a></li>
<li><a href="">About Us</a></li>
<li><a href="">Services</a></li>
<li><a href="">Portfolio</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Pages <i class="icon-angle-down"></i></a>
</li>
<li><a href="">Blog</a></li>
<li><a href="">Contact</a></li>
{% if app.request.attributes.get('_route') == 'my_route' %}
<li><a href="">Extra</a></li>
{% endif %}
</ul>
</div>