添加活动类以链接 sf2 和 twig

新手上路,请多包涵

以下简单代码:

 <li><a href="{{ path('_list') }}">List</a></li>

如果当前页面匹配 _list 路线,是否有添加 class="active" 的简单方法?

使用最新的 symfony2 PR-Release 和 twig 作为模板引擎

原文由 choise 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 245
2 个回答

Twig 允许条件语句,并且 Request 对象在整个应用程序中都可用。如果您包含模板,要获取您要使用的路线:

 app.request.attributes.get('_route')

如果你正在使用渲染功能,你想使用:

 app.request.attributes.get('_internal')

有了它,您应该能够使用:

 class="{% if app.request.attributes.get('_route') == '_list' %}active{% endif %}"

或更短:

 class="{{ app.request.get('_route') == '_list' ? 'active' }}"

原文由 Brian 发布,翻译遵循 CC BY-SA 3.0 许可协议

最短版本:

 {% set route = app.request.get('_route') %}

 <li class="{{ route starts with 'post' ? 'open' }}"></li>
 <li class="{{ route starts with 'category' ? 'open' }}"></li>

有时有用:

 {% set route = app.request.get('_route') %}

<li class="{{ 'post' in route ? 'open' }}"></li>
<li class="{{ 'category' in route ? 'open' }}"></li>

原文由 Max Lipsky 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏