zentaoPHP二次开发简介

2014-09-02 13:26:49
王春生
52120
最后编辑:潘仙芝 于 2015-01-09 13:59:14
简介:每一个应用都会涉及到扩展方面的问题、和外面系统集成的问题。zentaoPHP框架也在这几个方面做了充分的工作,方便大家通过二次开发来满足这些需求。总体来讲,zentaoPHP框架提供了扩展机制、API集成和命令行调用机制工三种方式来满足大家的需求。

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


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

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

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

评论列表
Leo 2018-05-23 16:38:54
请教一下,在lampp+源代码环境下调试正常的插件,在禅道一键安装包环境下安装后无效,调用我开发的passlogin方法时,提示ERROR: the module user has no passlogin method in /opt/zbox/app/zentao/framework/base/router.class.php on line 1636, last called by /opt/zbox/app/zentao/www/index.php on line 67 through function loadModule.
确认过ext里是有相应的文件的,这个会是因为什么原因?谢谢。
王春生 2018-05-25 10:42:46
检查大小写的问题。
hey 2018-05-03 16:48:28
$browsepayc1order1=$this->dao->select('DISTINCT(des1.account),des1.alipay,des1.phone,c1.state')->from(TABLE_USERDES)->alias('des1')
->leftJoin(TABLE_ORDERC1)->alias('c1')->on("des1.account=c1.cloudWorker")
->where('c1.state')->eq('unpaid')
->andWhere('des1.account')->Notin($this->dao->select('des2.account,c2.state')->from(TABLE_USERDES)->alias('des2')->leftJoin(TABLE_ORDERC1)->alias('c2')->on("des2.account=c2.cloudWorker")->where('c2.state')->eq('paid'))
->where('c2.state')->eq('paid')->fetchAll())
->fetchAll();


春哥怎么 notin 在这框架里面查询出来的数据和在数据库里面查询的数据不一样
ss 2018-03-28 20:14:51
嗨,春哥,你好,我想问下,数据库查询的一个问题,禅道代码如下,不明白的地方是:t1.build有的值是“trunk”而不是t2.id,为什么也可以查出来,期待得到您的回复,谢谢。
public function getProjectTasks($projectID, $orderBy = 'id_desc', $pager = null)
{
return $this->dao->select('t1.*, t2.name AS buildName')
->from(TABLE_TESTTASK)->alias('t1')
->leftJoin(TABLE_BUILD)->alias('t2')->on('t1.build = t2.id')
->where('t1.project')->eq((int)$projectID)
->andWhere('t1.deleted')->eq(0)
->orderBy($orderBy)
->page($pager)
->fetchAll('id');
}
2017-12-01 10:28:16
在禅道做二次开发 ,从哪里开始
王春生 2017-12-03 14:27:18
先了解我们的框架结构,和扩展机制。可以参考我们开发的一些插件。
Mr.Yuan 2017-11-07 11:14:16
想知道复选框的值是如何传过去的,为什么我套过来后台cookie中没有呢。
王春生 2017-11-14 14:17:29
放在表单里面,加上name属性。
嘎嘎 2017-10-10 17:16:00
我在module文件夹添加了test文件夹,test文件夹下面包含css、js、lang、view文件夹以及control.php
、model.php、index.html文件,其中css、js下面为空、lang文件夹下面包含en.php、zh-cn.php、zh-tw.php,view下面包含world.html.php;
control.php里面有个world方法,里面就一个$this->display();
但是为什么访问不了这个world页面(http://127.0.0.18:8088/index.php/test/world),提示没有权限,首页(http://127.0.0.18:8088/index.php/index.html)能正常访问
王春生 2017-10-11 12:14:37
加权限控制。参考已有的。
雇佣兵 2017-09-21 15:19:09
/app/sys/block/control.php
public function dashboard(){
.......
$inited = empty($this->config->personal->common->blockInited) ? '' : $this->config->personal->common->blockInited;
..
$block->params->account = $this->app->user->account;
....
}
上面两条语句产生的数据从哪里获取?
Vivian 2017-08-29 16:08:23
当我循环调用获取bug信息接口(?m=bug&f=view&bugID=xxx&t=json)获取bug信息时,不存在的bugid会获取到上一次访问的bugid所对的值。这是为什么?
王春生 2017-08-30 09:04:54
检查确认下参数是否正确。禅道没有逻辑返回上一次访问的bugid的值。
徐女士 2017-08-07 17:31:57
想在“”项目状态“”中,新增点项目跟进的状态。例如:“未上线”“已上线”等。不知如果操作,可否告知操作步骤
节日汇 2017-04-28 17:04:15
6666666
1/2
发表评论
评论通过审核后显示。