加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

symfony – KnpMenuBundle不使用Bootstrap 4导航栏

发布时间:2020-12-17 21:32:44 所属栏目:安全 来源:网络整理
导读:我目前正在制作一个包含Symfony包的菜单:KnpMenuBundle.我使用Bootstrap 4作为样式表. Bootstrap 4要求导航栏中的每个列表项都具有“nav-item”类: li class="nav-item active" -- this a class="nav-link" href="#"Home span class="sr-only"(current)/sp
我目前正在制作一个包含Symfony包的菜单:KnpMenuBundle.我使用Bootstrap 4作为样式表.

Bootstrap 4要求导航栏中的每个列表项都具有“nav-item”类:

<li class="nav-item active"> <-- this
    <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>

我似乎无法弄清楚如何使用KnpMenuBundle将类“nav-item”添加到列表项.目前我在加载页面时看到了这个:
navbar result

这是我在src / AppBundle / Menu中的Builder类:

namespace AppBundleMenu;


use KnpMenuMenuFactory;

class Builder
{
    public function mainMenu(MenuFactory $factory,array $optioins)
    {
        $menu = $factory->createItem('root');
        $menu->setChildrenAttribute('class','navbar-nav mr-auto');
        $menu->addChild('Home',['route' => 'homepage']);
        $menu->setChildrenAttributes(['class' => 'nav-item']);
        return $menu;
    }
}

我在base.html.twig中的代码生成菜单:

{{ knp_menu_render('AppBundle:Builder:mainMenu',{'currentClass': 'active'}) }}

我该怎么做才能让它发挥作用?

解决方法

我这样做是为了让顶级正确.但是还没有计算出下拉菜单.

$menu->setChildrenAttribute('class','navbar-nav');
// menu items
foreach ($menu as $child) {
    $child->setLinkAttribute('class','nav-link')
        ->setAttribute('class','nav-item');
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读