定制开发
手册分类
- 1. 禅道SDK开发手册
- 1.1 配置使用与常见问题
- 1.2 调用SDK示例
- 1.3. 部门相关接口
- 1.4. 用户相关接口
- 1.4.1 获得添加用户所用的参数列表
- 1.4.2 添加单个用户
- 1.4.3 获取用户列表
- 1.5. 产品相关接口
- 1.5.1 获取产品列表
- 1.5.2 添加单个产品可选信息
- 1.5.3 添加单个产品
- 1.6. 项目相关接口
- 1.6.1 获取项目列表
- 1.6.2 添加单个项目可选信息
- 1.6.3 添加单个项目
- 1.7. 任务相关接口
- 1.7.1 获取任务列表
- 1.7.2 添加单个任务可选信息
- 1.7.3 添加单个任务
- 1.7.4 完成单个任务可选信息
- 1.7.5 完成单个任务
- 1.8. bug相关接口
- 1.8.1 获取Bug列表
- 1.8.2 添加单个Bug可选信息
- 1.8.3 添加单个Bug
- 1.8.4 解决单个Bug可选信息
- 1.8.5 解决单个Bug
- 2. 禅道RESTful API开发手册v1
- 3. 定制开发
- 3.1 二次开发机制
- 3.2 禅道的目录结构
- 3.3 找到要修改的文件
- 3.4 禅道的数据库结构
- 3.5 公用模块--common
- 3.6 12系列菜单登记和权限维护
- 3.7 18系列菜单登记和权限维护
- 3.8 示例:如何修改禅道的语言提示?
- 3.9 示例:创建bug时可以设置优先级字段
- 3.10 使用在线扩展编辑器
- 3.11 二次开发编辑器和翻译功能限制使用说明
- 3.12 禅道项目管理软件打包规范1.1版本
18系列菜单登记和权限维护 分享链接
作者:刘振华
最后编辑:石洋洋 于 2024-02-22 15:50:16
浏览量:4751
本篇目录
本文主要讲解在禅道18系列及以上版本中,菜单登记、权限维护等常见问题。
1、如何在禅道中登记一个菜单?
模块:common
目录:lang
左侧主导航: $lang->mainNav->$menuName
顶部一级导航:$lang->$moduleName->menu->$menuName
顶部二级导航:$lang->$moduleName->menu->$menuName['subMenu']
扩展代码目录:zentaopms/extension/custom/common/ext/lang/zh-cn/demo.php
2、新增方法后,如何支持配置权限?
模块:group
目录:lang
写法:$lang->resource->$moduleName->$methodName = 语言项的Key;
扩展代码目录:zentaopms/extension/custom/group/ext/lang/zh-cn/demo.php
目录:lang
写法:$lang->resource->$moduleName->$methodName = 语言项的Key;
扩展代码目录:zentaopms/extension/custom/group/ext/lang/zh-cn/demo.php
3、多语言配置
zh-cn.php
zh-tw.php
en.php
fr.php
de.php
vi.php
4、数据校正校验
数据验证: add,setIF,setDefault,remove,join等
数据库验证:check,batchCheck,autocheck等
框架校验: zentaopms/config/filter.php
数据库验证:check,batchCheck,autocheck等
框架校验: zentaopms/config/filter.php
5、如何设置某个字段为富文本形式?
配置中写入:
$config->bug->editor->create = array('id' => 'desc', 'tools' => 'simpleTools');
$config->bug->editor->create = array('id' => 'desc', 'tools' => 'fullTools');
视图中引入:
$app->getModuleRoot() . 'common/view/kindeditor.html.php'
$config->bug->editor->create = array('id' => 'desc', 'tools' => 'simpleTools');
$config->bug->editor->create = array('id' => 'desc', 'tools' => 'fullTools');
视图中引入:
$app->getModuleRoot() . 'common/view/kindeditor.html.php'
6、禅道中如何创建URL?
PHP创建链接:
$this->createLink('task','view', 'taskID=$taskID');
helper::createLink('task', 'create', 'executionID=$executionID');
JS创建链接:
createLink ('task', 'edit', 'taskID=$taskID') ;
$this->createLink('task','view', 'taskID=$taskID');
helper::createLink('task', 'create', 'executionID=$executionID');
JS创建链接:
createLink ('task', 'edit', 'taskID=$taskID') ;
7、页面JS跳转/PHP跳转
JS跳转:
$link = createLink ('task', 'edit', 'taskID=$taskID') ;
js::locate($link);
PHP跳转:
$link = $this->createLink ('task', 'edit', 'taskID=$taskID') ;
$this->locate($link);
$link = createLink ('task', 'edit', 'taskID=$taskID') ;
js::locate($link);
PHP跳转:
$link = $this->createLink ('task', 'edit', 'taskID=$taskID') ;
$this->locate($link);
8、如何在禅道中写Ajax请求?
Var link = createLink('bug', 'ajaxGetProjects', 'productid=' + productID);
$.post(link, function(data){
//code…
});
$.get(link, function(data){
//code…
});
注:control中以ajax开头的方法不鉴权
9、如何在禅道中配置数据表格?
在bug/config.php中配置:
$config->bug->datatable->fieldList['id']['title'] = 'idAB';
$config->bug->datatable->fieldList['id']['fixed'] = 'left';
$config->bug->datatable->fieldList['id']['width'] = '70';
$config->bug->datatable->fieldList['id']['required'] = 'yes’;
页面引入:
$app->getModuleRoot() . 'common/view/datatable.html.php';
$app->getModuleRoot() . 'common/view/datatable.fix.html.php';
$config->bug->datatable->fieldList['id']['title'] = 'idAB';
$config->bug->datatable->fieldList['id']['fixed'] = 'left';
$config->bug->datatable->fieldList['id']['width'] = '70';
$config->bug->datatable->fieldList['id']['required'] = 'yes’;
页面引入:
$app->getModuleRoot() . 'common/view/datatable.html.php';
$app->getModuleRoot() . 'common/view/datatable.fix.html.php';
禅道权限进阶介绍,可以参考:https://devel.easycorp.cn/book/extension-new/priv-67.html