Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在细枝模板symfony 2.5.3中添加额外菜单_Php_Html_Twig_Symfony 2.5 - Fatal编程技术网

Php 在细枝模板symfony 2.5.3中添加额外菜单

Php 在细枝模板symfony 2.5.3中添加额外菜单,php,html,twig,symfony-2.5,Php,Html,Twig,Symfony 2.5,我是一个Symfony初学者,我的方法可能不是正确的方法,所以请帮助我我做错了什么。在我的base.html.twig中,我包含了一个“菜单模板”{%include'::menu.html.twig“%},它保存了所有正常工作的默认顶部菜单项 现在我要做的是在一个关于页面上,我需要一个叫做“额外”的额外菜单选项,它确实出现了,但不是菜单的一部分。我想,如果你调用parent,这应该和你尝试使用parent添加额外的css或js文件时一样 这就是我的about.html.twig的样子 {% ex

我是一个Symfony初学者,我的方法可能不是正确的方法,所以请帮助我我做错了什么。在我的base.html.twig中,我包含了一个“菜单模板”{%include'::menu.html.twig“%},它保存了所有正常工作的默认顶部菜单项

现在我要做的是在一个关于页面上,我需要一个叫做“额外”的额外菜单选项,它确实出现了,但不是菜单的一部分。我想,如果你调用parent,这应该和你尝试使用parent添加额外的css或js文件时一样

这就是我的about.html.twig的样子

{% extends "::base.html.twig" %}

{% block topmenu %}
    {{ parent() }}
    <li><a href="">Extra</a></li>
    {% endblock %}

{% block body %}
This is body
{% endblock %}
{% 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 %}

您不应尝试在特定路线上向模板添加额外的行,而应在该路线上设置条件以显示此额外菜单:

        <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>

我只是猜测,没有代码,但我不认为topmenu块只包含元素,而是整个顶部栏。基本上你是在用你的新li开始一个新列表。你是对的,我使用的是twitter bootstrap 3,因此menu.html.twig包含,因此,您可以使用新的menuitems在模板中进行扩展。我已经更新了我的问题,并添加了menu.html.twig的代码,如果这有助于更好地理解问题的话