<i id='VJqCu'><tr id='VJqCu'><dt id='VJqCu'><q id='VJqCu'><span id='VJqCu'><b id='VJqCu'><form id='VJqCu'><ins id='VJqCu'></ins><ul id='VJqCu'></ul><sub id='VJqCu'></sub></form><legend id='VJqCu'></legend><bdo id='VJqCu'><pre id='VJqCu'><center id='VJqCu'></center></pre></bdo></b><th id='VJqCu'></th></span></q></dt></tr></i><div id='VJqCu'><tfoot id='VJqCu'></tfoot><dl id='VJqCu'><fieldset id='VJqCu'></fieldset></dl></div>
    <tfoot id='VJqCu'></tfoot>
  • <small id='VJqCu'></small><noframes id='VJqCu'>

        • <bdo id='VJqCu'></bdo><ul id='VJqCu'></ul>
        <legend id='VJqCu'><style id='VJqCu'><dir id='VJqCu'><q id='VJqCu'></q></dir></style></legend>

        Twig渲染函数中的Symfony2内部路由

        时间:2023-08-18
        • <legend id='BpbgO'><style id='BpbgO'><dir id='BpbgO'><q id='BpbgO'></q></dir></style></legend>
        • <i id='BpbgO'><tr id='BpbgO'><dt id='BpbgO'><q id='BpbgO'><span id='BpbgO'><b id='BpbgO'><form id='BpbgO'><ins id='BpbgO'></ins><ul id='BpbgO'></ul><sub id='BpbgO'></sub></form><legend id='BpbgO'></legend><bdo id='BpbgO'><pre id='BpbgO'><center id='BpbgO'></center></pre></bdo></b><th id='BpbgO'></th></span></q></dt></tr></i><div id='BpbgO'><tfoot id='BpbgO'></tfoot><dl id='BpbgO'><fieldset id='BpbgO'></fieldset></dl></div>

              <small id='BpbgO'></small><noframes id='BpbgO'>

                <tbody id='BpbgO'></tbody>

              <tfoot id='BpbgO'></tfoot>

                • <bdo id='BpbgO'></bdo><ul id='BpbgO'></ul>
                  本文介绍了Twig渲染函数中的Symfony2内部路由的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我的layout.html.twig:

                  {{ render(controller('AcmeDemoBundle:Page:mainmenu')) }}
                  

                  Page 控制器从 Doctrine 中检索所有页面,并使用一组页面呈现 mainmenu.html.twig.

                  The Page controller retrieves all pages from the Doctrine and renders mainmenu.html.twig with a set of pages.

                  我的mainmenu.html.twig:

                  {% if menu_pages is defined %}
                      {% for page in menu_pages %}
                          <li class="{% if app.request.attributes.get('_internal') == '_page_show' and app.request.get('id') == page.id %}active{% endif %}"><a href="{{ path('_page_show', {id: page.id}) }}">{{ page.title|e }}</a></li>
                      {% endfor %}
                  {% endif %}
                  

                  但是没有显示 active 类.据我了解,问题出在内部路由上.如何解决?

                  But no active class is displayed. As far as I understand the problem is in internal routing. How to fix that?

                  推荐答案

                  最好不要使用 {{ render(controller('AcmeDemoBundle:Page:mainmenu')) }}.当您改用服务时,它的工作速度会更快、更舒适.您可以创建一个服务,该服务将在包含它们的任何页面上显示菜单.在服务中,您可以轻松访问当前 _route 以添加 active 类.

                  Better do not use {{ render(controller('AcmeDemoBundle:Page:mainmenu')) }}. It work more fast and comfortable when you use services instead. You can create a service which will show menu on any page where you include them. And in service you can easy get access to current _route for add active class.

                  但是如果你真的需要使用{{render(controller('AcmeDemoBundle:Page:mainmenu'))}},那么你需要向他们传递一个当前的请求,比如:

                  But if you really need to use {{ render(controller('AcmeDemoBundle:Page:mainmenu')) }}, so you need pass to them a current request like:

                  {{ render(controller('AcmeDemoBundle:Page:mainmenu', {'request': app.request})) }}
                  

                  然后在行动中将请求传递给树枝:

                  and then in action pass request to twig:

                  public function mainmenuAction($request) {
                  
                      return $this->render('AcmeDemoBundle:Page:mainmenu.html.twig', array('request' => $request));
                  }
                  

                  并在树枝中使用此请求:

                  and in twig use this request:

                  {% if menu_pages is defined %}
                      {% for page in menu_pages %}
                          <li class="{% if request.get('_route') == '_page_show' and request.get('id') == page.id %}active{% endif %}"><a href="{{ path('_page_show', {id: page.id}) }}">{{ page.title|e }}</a></li>
                      {% endfor %}
                  {% endif %}
                  

                  这篇关于Twig渲染函数中的Symfony2内部路由的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Doctrine 2.0 中未加载的延迟加载属性 下一篇:Symfony 2.8:Doctrine getManagerForClass() 没有返回正确的实体管理器

                  相关文章

                • <legend id='BzStI'><style id='BzStI'><dir id='BzStI'><q id='BzStI'></q></dir></style></legend>
                  1. <small id='BzStI'></small><noframes id='BzStI'>

                    1. <i id='BzStI'><tr id='BzStI'><dt id='BzStI'><q id='BzStI'><span id='BzStI'><b id='BzStI'><form id='BzStI'><ins id='BzStI'></ins><ul id='BzStI'></ul><sub id='BzStI'></sub></form><legend id='BzStI'></legend><bdo id='BzStI'><pre id='BzStI'><center id='BzStI'></center></pre></bdo></b><th id='BzStI'></th></span></q></dt></tr></i><div id='BzStI'><tfoot id='BzStI'></tfoot><dl id='BzStI'><fieldset id='BzStI'></fieldset></dl></div>
                      • <bdo id='BzStI'></bdo><ul id='BzStI'></ul>

                    2. <tfoot id='BzStI'></tfoot>