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 是必填的参数外,其余参数可由开发者自定义,会原样传入到嵌入点的函数中

本页目录
  1. 模块嵌入点
  2. 定义模块嵌入点
  3. 调用Hook
文档统计
浏览次数:175761次
编辑次数:210次历史版本
最近更新:2023-01-16 16:16:34

如果看不懂微擎社区版二次开发手册或者遇到问题,请联系微信: ccccyyyy4444 或者 QQ:155120699 ,如果我们有空闲时间,可以免费为您答疑解惑。