获取项目根路径:
$app->getModuleRoot()
获取项post数据:
$post = fixer::input(‘post’)->get();
获取最后一句执行sql:
$this->dao->get();
通过PHP设置一个js变量:
通过PHP构造一个URL:
$this->createLink('program', 'action', "a=1&b=2");
inlink('showImport', "productID=$productID&branch=$branch");
使用其他模块语言项:
$this->app->loadLang('project');
使用其他模块model类:
$this->loadModel('port');
通过js构造一个URL:
createLink(‘program’, ‘action’, “a=1&b=2”);
数据库表常量定义位置:
config/zentaopms.php
xshell 快捷键:
显示 / 隐藏顶部工具栏:alt+s
新增窗口输入open打开 服务器会话目录
vim快捷键:
显示 / 隐藏左侧系统文件目录树 :F9
左侧目录树与右侧代码区切换光标 :ctrl+w+w
左侧目录树快速回上级目录 :u
回到下一步 / 上一步编辑状态:ctrl+r / u
https://www.zentao.net/book/zentaopms/38.html //禅道使用手册
修改测试模块下的browse下列表中的图标 : 模块model类的buildOperateBrowseMenu方法
新增一个一级导航:
$lang->mainNav->menuOrder[x] = 'designate';
$lang->designate->menu = new stdclass();
$lang->designate->menu->browse = array('link' => "{
$lang->user->common}|company|browse", 'subModule' => ',user,');
$lang->navIcons['designate'] = "<i class='icon icon-list-alt'></i>";
$lang->mainNav->designate = "{
$lang->navIcons['designate']} {
$lang->designate->common}|designate|browse|"
//在一级导航的指定项上方加上分割线
$lang->dividerMenu = ',assetlib,oa,admin,';
修改三级导航栏的显示顺序:common/lang/menu.php,此功能不能被ext
实现自动关联研发需求时,link后需要判断是否已创建过projectcase,没创建再调用syncCase2Project
$this->execution->linkStory($projectID, array($storyID), array($storyID => $productID));
if($this->app->tab == 'project' and !$this->testcase->check