我想要获得当前页面,并在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>
作为@DhiaDjobbi答案的扩展
我真的很想减少";重复";代码,我会在数组中定义菜单以及
{% set active_page = app.request.get('_route') %}
{% for page in pages %}
<li {% if page == active_page %} class="active" {% endif %} >
<a href="{{path(page)}}">{{ page }}</a>
</li>
{% endfor %}
U可以在Template中创建一个更可读的twitch变量。
{% set page = app.request.get('_route') %}
然后使用If Condition进行测试。
<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>