禅道扩展机制
- 2023-04-24 13:12:07
- 刘沙沙
- 原创 543
老版
适用开源版16.5、企业版6.5、旗舰版3.0以下

对应模块ext文件夹下 module/task/ext/。扩展config.php:在ext下建config文件夹,在congfig下建文件比如test.php。
扩展控制器方法create():在ext下建control文件夹,在control下建文件create.php,自己写一个create方法。
继承原来的方法

- 扩展css,建一个css目录,扩展创建页面的css文件,在css目录下再建一个create目录,建文件test.css;
- 扩展js,类似css;
- 扩展语言项目录,类似建lang/zh-cn/test.php,新的会覆盖老的;
- 扩展model,类似control,但是不需要引入文件。
- 加载模块control文件时,先判断有没有被扩展过,如果扩展过,则引入扩展下的文件;
- 实现代码在setActionExtFile()方法中。

扩展view下的文件,ext下新建view文件夹,直接复制原文件,比如create.html.php文件,注意修改引入路径(要多一层)。

整个ext扩展目录结构是这样式的

新的:

扩展机制实现原理:control扩展机制。


model扩展机制
同一个模块下的所有model扩展文件会被加载到tmp/model下运行。类名叫ext模块名Model,如extadminModel,有直接扩展和通过钩子扩展两种。

钩子扩展:
ext/model/hook下建文件将钩子文件下写的追加到tmp/model下文件相应方法的头部

view扩展机制 (完全覆盖+钩子文件扩展,有扩展文件就引入扩展文件)在这个文件下:

这个方法实现的。

注意:文件名和目录名要小写,control方法文件名与方法名要一致,扩展view文件时要注意include路径要变化
暂时没有记录