【问题标题】:zf3 navigation for admin, and for client用于管理员和客户端的 zf3 导航
【发布时间】:2018-04-20 16:13:06
【问题描述】:

如何为管理员和客户进行导航? 在下面的代码中是否有一些价值可以添加,比如“id”或其他东西?

代码:

    'navigation' => [
    'default' => [
        [
            'label' => 'User',
            'route' => 'user',
            'pages' => [
                [
                    'label'  => 'Login',
                    'route'  => 'user/login',
                    'action' => 'login',
                ],
                [
                    'label'  => 'Logout',
                    'route'  => 'user/logout',
                    'action' => 'logout',
                ],
            ],
        ],
    ],
]

【问题讨论】:

    标签: zend-framework3


    【解决方案1】:

    找到了!

    'navigation' => [
        'default' => [
            [
                'label' => 'Blog',
                'route' => 'blog',
                'pages' => [
                    [
                        'label'  => 'Detail',
                        'route'  => 'blog/detail',
                        'action' => 'detail',
                    ],
                    [
                        'label'  => 'Add',
                        'route'  => 'blog/add',
                        'action' => 'add',
                    ],
                    [
                        'label'  => 'Edit',
                        'route'  => 'blog/edit',
                        'action' => 'edit',
                    ],
                    [
                        'label'  => 'Delete',
                        'route'  => 'blog/delete',
                        'action' => 'delete',
                    ],
                ],
            ],
        ],
        'navigation-admin' => [
            [
                'label' => 'Blog',
                'route' => 'blog',
                'pages' => [
                    [
                        'label'  => 'Detail',
                        'route'  => 'blog/detail',
                        'action' => 'detail',
                    ],
                    [
                        'label'  => 'Add',
                        'route'  => 'blog/add',
                        'action' => 'add',
                    ],
                    [
                        'label'  => 'Edit',
                        'route'  => 'blog/edit',
                        'action' => 'edit',
                    ],
                    [
                        'label'  => 'Delete',
                        'route'  => 'blog/delete',
                        'action' => 'delete',
                    ],
                ],
            ],
        ],
    ]
    

    然后你添加:

    'service_manager' => [
        'factories' => [
            'navigation-admin' => Service\Factory\NavigationFactory::class        ]
    ],
    

    创建扩展 Zend\Navigation\Service\DefaultNavigationFactory 的工厂类 NavigationFactory:

    protected function getName()
    {
        return 'navigation-admin';
    }
    

    在视图中只需检查用户是什么并加载导航:

    <?= $this->navigation('navigation-admin')
            ->menu()
            ->setMinDepth(0)
            ->setMaxDepth(0)
            ->setUlClass('nav navbar-nav')
        ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-30
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2015-10-19
      相关资源
      最近更新 更多