zentaoPHP二次开发简介

2014-09-02 13:26:49
王春生
151743
最后编辑:朱金勇 于 2023-03-20 08:54:25
分享链接
摘要:每一个应用都会涉及到扩展方面的问题、和外面系统集成的问题。zentaoPHP框架也在这几个方面做了充分的工作,方便大家通过二次开发来满足这些需求。总体来讲,zentaoPHP框架提供了扩展机制、API集成和命令行调用机制工三种方式来满足大家的需求。

每一个应用都会涉及到扩展方面的问题、和外面系统集成的问题。zentaoPHP框架也在这几个方面做了充分的工作,方便大家通过二次开发来满足这些需求。总体来讲,zentaoPHP框架提供了扩展机制、API集成和命令行调用机制工三种方式来满足大家的需求。


扩展 机制:可以使用PHP、HTML、CSS或者JS代码来对现有的代码功能进行改动,或者新增功能。

API 接口:可以通过http方式调用使用zentaoPHP框架开发的应用,和其他系统进行集成。

命令行:可以通过命令行调用应用内部的方法,可以用来做备份、更新、发信等操作。


注意:本文档是针对禅道16.5版本之前的zentaoPHP框架,禅道最新版本的二次开发文档请参照新版:
https://devel.easycorp.cn/book/extension-new/intro-52.html

评论列表
er 2024-02-04 11:10:25
怎么删除内置的字段,或者不显示
非时尚青年 2023-09-11 19:40:39
怎么通过API 创建产品或者测试中的模块?找了很久都没有找到
王春生 2023-09-12 14:51:40
可以通过超级model接口来调用。
付生 2023-06-13 13:37:25
请问我在这个框架里面想要请求第三方接口的话 如何对接啊 ?
王春生 2023-06-13 16:22:20
没有特别的要求。可以在model层封装函数,在里面实现对接口的调用就好了。
天涯 2023-06-02 14:13:33
这个文档上 https://devel.easycorp.cn/book/extension-new/intro-52.html 实际的url指向不对,可以修改下。
禅道开发 2023-06-05 11:11:12
感谢您的反馈,我们确认一下链接是否正确
arcee 2023-02-23 14:22:25
你好,我按照文档的方式进行扩展,在report/ext/lang/zh-cn/lang1.php文档中代码如下<?php $lang->report->task1='任务列表1';?>,然后我发现根本读取不到$lang->report->task1这个值,不知道是什么原因呢?
石小小 2023-01-03 17:13:09
你好,我想问下,我登录之后写接口调用返回{
"status": "success",
"data": "{\"locate\":\"http:\\\/\\\/www.pms.com\\\/index.php?m=user&f=deny&t=json&module=api&method=getprojectinfo\"}",
"md5": "5e86feab0264f1ad945e30615213aea6"
}这个是什么原因(接口写在了api模块下的getprojectinfo 这个方法),禅道的版本是17.3,感谢
王春生 2023-01-06 08:53:32
这是表示登陆成功了。你后续请求带上sessionid就可以。
jeff 2022-10-11 16:55:08
禅道的超链接在哪里进行了处理,有些点开是模态框显示新页面,例如:用例库的导出模板、导入csv,有些点开是页面跳转
maasen 2022-08-30 10:29:22
开发的插件安装成功但是不起作用。插件功能:批量编辑支持迭代字段,便于将一个迭代的多个任务迁移到另一个迭代。

目录结构是:
task/ext/control/batchEdit.php
task/ext/model/batchUpdate.php
task/ext/view/batchedit.html.php

安装成功之后,/opt/zbox/app/zentao/module/task/ext下没有任何文件
批量编辑任务页面没有任何改变

代码如下:
control/batchEdit.php:
class task extends control
{
public function batchEdit($e x e cutionID = 0)
{
......
$this->view->e x e cutions = $this->e x e cution->getPairs(0, 'all', 'nocode');
$this->display();
}
}

model/batchUpdate.php:
public function batchUpdate()
{
......
$task->parent = $oldTask->parent;
$task->e x e cution = $data->e x e cutions[$taskID];
......
}

view/batchedit.html.php:
......
<th class='c-reason<?php echo zget($visibleFields, 'closedReason', ' hidden') . zget($r e q u i r edFields, 'closedReason', '', ' r e q u i r ed');?>'><?php echo $lang->task->closedReason;?></th>
<!-- 新增代码 -->
<th class='c-user'><?php echo $lang->task->e x e cution;?></th>
......
<!-- 新增代码 -->
<td class='text-left' style='overflow:visible'><?php echo html::select("e x e cutions[$taskID]", $e x e cutions, $tasks[$taskID]->e x e cutionID, "class='form-control picker-select' data-drop-width='auto'");?></td>
<?php foreach($extendFields as $extendField) echo "<td"
......
maasen 2022-08-30 10:44:20
/opt/zbox/app/zentao/module/task/ext下成功拷贝了文件
但是批量编辑任务的页面没有变化
pozx 2022-10-11 14:43:45
新版本,扩展迁移到 extension/custom 目录了
MOR 2022-03-23 13:57:54
新增的模块导出时$this->cookie->checkedItem 拿不到值,但是浏览器中看到是有这个cookie值的
王春生 2022-03-24 09:03:02
cookie在下次请求时才会生效。
mieiesheep 2023-05-09 15:16:34
lib\base\filter下$_COOKIE = validater::filterParam($_COOKIE, 'cookie');过滤了
Jake 2022-03-01 08:56:40
https://zentao.beantechs.com/zentao/testtask-browse.json,从这个接口获取不到界面上显示的数据
王春生 2022-03-01 08:58:13
你登陆禅道,访问测试任务,然后在浏览器里面将html改成json,访问下试试。
用接口调用的话,首先要保持登陆状态。
1/5
发表评论
评论通过审核后显示。