Symfony KnpMenuBundle的setAttributes方法不';行不通

Symfony KnpMenuBundle的setAttributes方法不';行不通,symfony,twig,knpmenubundle,Symfony,Twig,Knpmenubundle,我正在Symfony2应用程序中使用KnpMenuBundle。 我正在尝试使用KnpMenuBundle的FactoryInterface的setAttributes设置菜单class属性,如下所示: $menu = $factory->createItem('root'); $menu->setAttribute('class' , 'sf-menu'); 但这不管用!并且结果标记(带或不带setAttribute行)为: <ul> <

我正在Symfony2应用程序中使用
KnpMenuBundle

我正在尝试使用
KnpMenuBundle的
FactoryInterface的
setAttributes
设置菜单
class
属性,如下所示:

    $menu = $factory->createItem('root');
    $menu->setAttribute('class' , 'sf-menu');
但这不管用!并且结果标记(带或不带
setAttribute
行)为:

<ul>
    <li class="first">
     ...
</ul>
  • ...
而我希望有


问题出在哪里?

如果要为li元素指定一个类,则必须将其设置为:

$menu->addChild('Label', [
    ...
    'attributes' => ['class' => 'sf-menu'],
]);

如果您想为您的ul元素设置一个类:

$menu = $this->factory->createItem('root');
$menu->setChildrenAttribute('class', 'sf-menu');