问题描述
我想获取当前页面并给出一个活动类,而在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中创建一个易于理解的树枝变量。
{% 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>