【问题标题】:How to addChild to special position (order) KNP Menu如何将孩子添加到特殊位置(订单) KNP 菜单
【发布时间】:2021-05-09 18:52:56
【问题描述】:

有没有办法在菜单末尾添加子项? 如果我有:

  • 红色
  • 绿色
  • 黄色

我想在黄色之前添加蓝色?

$menu = $event->getMenu();
$menu->getChild('colors')
            ->addChild('blue', [
                'route' => 'blue_link',
            ])

【问题讨论】:

    标签: symfony4 knpmenubundle


    【解决方案1】:

    如果有人需要帮助,可以这样:

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

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      相关资源
      最近更新 更多