2017-10-19 12:28:21 2752次浏览 3条回答 0 悬赏 10 金钱

我用的yii2-admintle模板,点击父级菜单怎么才能不让他匹配到路由???现在是能跳转。。。

补充于 2017-10-19 17:20

如果一级菜单不写路由的话,确实不会跳转了,还是之前展示的页面,但是不会出现二级菜单。。
2.png
3.png

  • 回答于 2017-10-19 13:20 举报

    不配路由不就好了

    8 条回复
    回复于 2017-10-19 17:21 回复

    不配路由,点击会提示404

    回复于 2017-10-20 09:19 回复

    瞅瞅这段对你有用不

    `<?php

        // generate menu dynamically
        $items = [];
        $items[] = ['label' => 'Menu Yii2', 'options' => ['class' => 'header']];
        
        // add assigned menu
        use mdm\admin\components\MenuHelper;
        $callback = function($menu){
            $data = $menu['data'];
            return [
                'label' => $menu['name'], 
                'url' => [$menu['route']],
                'icon' => $data,
                'items' => $menu['children']
            ];
        };
    
        foreach(MenuHelper::getAssignedMenu(Yii::$app->user->id, null, $callback) as $menu) {
            $items[] = $menu;
        }
    

    ?>

        <?= dmstr\widgets\Menu::widget(
            [
                'options' => ['class' => 'sidebar-menu'],
                'items' => $items,
            ]
        ) ?>
        `
    
    回复于 2017-10-20 09:50 回复

    非常感谢。。。不过还是没有用。。。。

    回复于 2017-10-20 10:02 回复

    不会吧 贴在left.php下面没用吗?配menu的时候父级不给路由,下面的子集给路由,同时父级写父级的名称应该可以的吧

    回复于 2017-10-20 10:06 回复

    没有。。大哥。这就是我很纠结的地方。。我父级没给路由,然后点击的时候,报400错误,找不到参数id,同时下面的子集菜单,也没有显示出来

    回复于 2017-10-20 10:45 回复

    大哥,不写路由确实不会跳转了,但是不会出现他下面的子集菜单啊

    回复于 2017-10-20 11:02 回复

    你子集的父级怎么写的,权限什么的都配了吗

    回复于 2017-10-20 11:12 回复

    都配了。数据库里子集的parent都是父级的id,但是就是不显示他的子集菜单,真的很奇怪

  • 回答于 2017-10-19 15:55 举报

    菜单是自定义设置的么?

    如果是的话,不要用路由 或者 “#”

    设置为 javascript:;

    不行的话 就改改 menu 生成的源码

    2 条回复
    回复于 2017-10-19 17:20 回复

    是自定义设置的,怎么设置为javascript???

    回复于 2017-10-20 15:58 回复

    额,看看生成菜单的源码吧, 或者把你用的相应的代码(菜单部分)贴出来看看

  • 回答于 2018-08-10 09:44 举报

    这个我刚开始也遇到了,但是你如果自己看dmstr\widgets\Menu,会发现里面的options是有默认配置的。你在检查一下你是不是把他设置成了'class' => 'sidebar-menu',试着删除你的这个配置用默认的,看看行不行

    2 条回复
    回复于 2018-10-08 13:45 回复

    最终怎么解决的

    回复于 2018-10-08 16:55 回复

    你试试把options改成这样:
    'options' => ['class' => 'sidebar-menu','data-widget'=>'tree']
    或者直接把options删掉,他默认就是这个配置

您需要登录后才可以回答。登录 | 立即注册
明天的明天
助理

明天的明天

注册时间:2017-07-30
最后登录:2019-05-13
在线时长:6小时47分
  • 粉丝1
  • 金钱55
  • 威望0
  • 积分115

热门问题