登记菜单和权限 分享链接

最后编辑:赵红梅 于 2022-09-20 18:15:53
摘要:禅道中,如何添加一级菜单和二级菜单,并可以通过权限控制呢?如何将外部链加到菜单中?

一、示例模块代码,添加如下两个文件:

  • 文件: module/menudemo/control.php,内容如下:
<?php
class menudemo extends control
{
    public function index()
    {
        $this->view->title = $this->lang->menudemo->index;
        $this->display();
    }
    public function item1()
    {
        $this->view->title = $this->lang->menudemo->item1;
        $this->display('menudemo','index');
    }
    public function item2()
    {
        exit('<script language="javascript">window.open("http://baidu.com");window.open("'.$this->createLink('my', 'index').'","_self");</script>');
    }
    public function item3()
    {
        $this->view->title = $this->lang->menudemo->item3;
        $this->display('menudemo','index');
    }
}
  • 文件: module/menudemo/view/index.html.php,内容如下:
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/footer.html.php';?>

假设当前禅道系统访问地址: http://127.0.0.1/zentao/,访问方式:PATHINFO。

示例模块中的四个方法的访问地址,超级管理员账号登录后可直接查看:

  • http://127.0.0.1/zentao/menudemo/
  • http://127.0.0.1/zentao/menudemo-item1.html
  • http://127.0.0.1/zentao/menudemo-item2.html
  • http://127.0.0.1/zentao/menudemo-item3.html

二、登记中文菜单

  • 添加文件: module/common/ext/lang/zh-cn/menudemo.php,内容如下:
<?php
$lang->menudemo->menu->item1 = '二级导航1|menudemo|item1';
$lang->menudemo->menu->item2 = '二级导航2|menudemo|item2';
$lang->menudemo->menu->item3 = '%s|menudemo|item3';
$lang->menudemo->menu->item3 = sprintf($lang->menudemo->menu->item3, 'Hi I\'am Item 3');
$lang->menudemo->common = 'MenuDemo';
$lang->menudemo->index = 'MenuDemo首页';
$lang->menudemo->item1 = 'item1';
$lang->menudemo->item2 = 'item2';
$lang->menudemo->item3 = 'item3';
$lang->menudemo->methodOrder[5]  = 'index';
$lang->mainNav->menuOrder[1] = 'menudemo';
$lang->mainNav->menudemo = "{$lang->menudemo->common}|menudemo|index";
  • 超级管理员访问登录页面如下:

三、登记中文权限

  • 添加文件: module/group/ext/lang/zh-cn/menudemo.php,内容如下:
<?php
$lang->resource->menudemo = new stdclass();
$lang->resource->menudemo->index = 'index';
$lang->resource->menudemo->item1 = 'item1';
$lang->resource->menudemo->item2 = 'item2';
$lang->resource->menudemo->item3 = 'item3';
  • 超级管理员访问任一权限分组的权限设置,如下:

现在就可以给权限分组添加新模块的权限啦。最后思考一下,其他语种的菜单和权限怎么登记呢?如何将外部链加到菜单中?

柳婷婷 2874