Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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
如何在没有重复代码的情况下获取Symfony 5页面中的当前页面?_Symfony_Navigation_Twig_Current Page - Fatal编程技术网

如何在没有重复代码的情况下获取Symfony 5页面中的当前页面?

如何在没有重复代码的情况下获取Symfony 5页面中的当前页面?,symfony,navigation,twig,current-page,Symfony,Navigation,Twig,Current Page,我想得到当前的网页,并给出一个活动类没有重复的代码在symfony 5。 下面是代码示例: <li class="{{ app.request.get('_route_')=='home' ? 'active':''}}"> <a href="{{path('home')}}">Home</a> </li> <li class="{{ app.reques

我想得到当前的网页,并给出一个活动类没有重复的代码在symfony 5。 下面是代码示例:

    <li class="{{ app.request.get('_route_')=='home' ? 'active':''}}">
       <a href="{{path('home')}}">Home</a> 
   </li>
    <li class="{{ app.request.get('_route_')=='contact' ? 'active':''}}">
        <a href="{{path('contact')}}">Contact</a> 
    </li>

</ul>

  • U可以在模板中创建一个细枝变量,使其可读性更好

    {% set page = app.request.get('_route') %}
    
    然后使用If条件进行测试

    <li  {% if page == 'home' %} class="active" {% endif %} >
       <a href="{{path('home')}}">Home</a> 
    </li>
    <li  {% if page == 'contact' %} class="active" {% endif %} >
       <a href="{{path('contact')}}">Contact</a> 
    </li>
    
    
    
    
    
    
    作为@DhiaDjobbi答案的扩展

    如果你真的想减少“重复”代码,我也会在数组中定义菜单

    {%set-active\u-page=app.request.get(“\u-route”)%}
    {第%页中的第%页}
    
    
    {%endfor%}