gpt4 book ai didi

symfony - KnpMenuBundle 不适用于 Bootstrap 4 导航栏

转载 作者:行者123 更新时间:2023-12-04 17:31:09 27 4
gpt4 key购买 nike

我目前正在使用 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 AppBundle\Menu;


use Knp\Menu\MenuFactory;

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');
}

关于symfony - KnpMenuBundle 不适用于 Bootstrap 4 导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46390698/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com