【发布时间】:2021-05-09 18:52:56
【问题描述】:
有没有办法在菜单末尾添加子项? 如果我有:
- 红色
- 绿色
- 黄色
我想在黄色之前添加蓝色?
$menu = $event->getMenu();
$menu->getChild('colors')
->addChild('blue', [
'route' => 'blue_link',
])
【问题讨论】:
有没有办法在菜单末尾添加子项? 如果我有:
我想在黄色之前添加蓝色?
$menu = $event->getMenu();
$menu->getChild('colors')
->addChild('blue', [
'route' => 'blue_link',
])
【问题讨论】:
如果有人需要帮助,可以这样:
use Knp\Menu\Util\MenuManipulator;
public function testMoveToPosition(): void
{
$menu = new MenuItem('root', new MenuFactory());
$menu->addChild('c1');
$menu->addChild('c2');
$menu->addChild('c3');
$menu->addChild('c4');
$manipulator = new MenuManipulator();
$manipulator->moveToPosition($menu['c1'], 2);
$this->assertEquals(['c2', 'c3', 'c1', 'c4'], \array_keys($menu->getChildren()));
}
【讨论】: