相关疑难解决方法(0)

如何在Symfony 2获得当前路线?

如何在Symfony 2中获取当前路线?

例如,routing.yml:

somePage:
   pattern: /page/
   defaults: { _controller: "AcmeBundle:Test:index" }
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得这个somePage价值?

php routing symfony symfony-routing

216
推荐指数
7
解决办法
19万
查看次数

自定义KnpMenuBundle

如何自定义KNPMenuBundle?

我无法弄清楚如何使用KnpMenuBundle添加图像或span标记.

我只想要这个:

<ul>
    <li>
         <img src="{{asset('bundles/mybundle/images/my_image.png')}} /">
         <span>My Title</span>        
     </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

在MenuBuilder中,这将从以下开始:

$menu->addChild('My Title');
Run Code Online (Sandbox Code Playgroud)

我怎么能在<li>声明中添加图像?


编辑:方便的方式

在捆绑包中实际上有一种简单的方法:

1 将模板复制 vendor\KnpMenu\src\Knp\Menu\Resources\views\knp_menu.html.twig 到您的文件中Acme\AcmeBundle\Resources\views\Menu\knp_menu.html.twig并按如下方式扩展:

{% extends 'knp_menu.html.twig' %}
Run Code Online (Sandbox Code Playgroud)


2 根据需要修改模板.例如,如果您决定每次使用 $menu->addChild('Your Title');时添加span标记,只需在以下各项之间添加span标记<a></a>:

{% block linkElement %}
    <a href="{{ item.uri }}"{{ _self.attributes(item.linkAttributes) }}>
        <span>{{ block('label') }}</span>
    </a>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)


3 您现在可以在使用菜单时选择自定义布局:

{{ knp_menu_render('main', {'template': 'AcmeBundle:Menu:knp_menu.html.twig'}) }}
Run Code Online (Sandbox Code Playgroud)

symfony knpmenubundle

43
推荐指数
2
解决办法
3万
查看次数

标签 统计

symfony ×2

knpmenubundle ×1

php ×1

routing ×1

symfony-routing ×1