hook.php
本文整理于网络,仅供阅读参考,如有不妥之处,敬请批评指正!如果您想加入微擎社区版技术大牛微信群和QQ群,请联系微信: ccccyyyy4444 或者 QQ:155120699
模块嵌入点
模块嵌入点是为了解决模块之间或是插件与主模块之间的功能调用、功能占位等问题。
举个例子,主模块功能是商城功能,包含一个插件功能是支付功能。主模块在遇到支付功能按钮时,可以以钩子的形式来处理,先占位,系统会判断用户是否已经安装支付插件,如果有则显示出来支付功能按钮,如果没有则什么也不显示。
定义模块嵌入点
- 模块嵌入点需要在模块目录下定义 ** hook.php **
- We7_testhookModuleHook 为模块标识,类名的定义遵循“模块标识ModuleHook”规则
- 此类必须继承 WeModuleHook 类
- web端的嵌入点以 ** hookWeb + Hook名称 ** 来定义
- app端的嵌入点以 ** hookMobile + Hook名称 ** 来定义
class We7_testhookModuleHook extends WeModuleHook {
// web端的嵌入点
public function hookMobileTest() {
// 将调用 teamplate/mobile/testhook.html
include $this->template('testhook');
}
// app端的嵌入点
public function hookWebTest() {
// 将调用 teamplate/testhook.html
include $this->template('testhook');
}
}
调用Hook
- 调用Hook时,web端与app端会分别调用各自的Hook
- 系统会自动检测是否存在该Hook,进行调用数据
- 此标签会自动被替换定义嵌入点的内容
{hook func="test" module="we7_testhook" pagesize="15"}{/hook}
此标签除了 func 和 module 是必填的参数外,其余参数可由开发者自定义,会原样传入到嵌入点的函数中
如果看不懂微擎社区版二次开发手册或者遇到问题,请联系微信: ccccyyyy4444 或者 QQ:155120699 ,如果我们有空闲时间,可以免费为您答疑解惑。