无限星辰工作室-客户无限互联网动力之源

标题: Discuz!X 插件嵌入点整理 [打印本页]

作者: crx349    时间: 2019-11-4 17:09
标题: Discuz!X 插件嵌入点整理
1.showmessage 嵌入点:

路径:source\function\function_message.php
  1. hookscript(CURMODULE, $_G['basescript'], 'messagefuncs', array('param' => $_G['messageparam']));
复制代码


说明:对应的调用函数命名为 XXX_message(),可以接受一个传递参数。参数的值为showmessage函数的所有参数的集合的一个数组。该嵌入点可以用于输出成功提示之前执行操作。

例子:
  1. function logging_message() {
  2.                 if('login' == $_GET['action']) {
  3.                         $this->_logLogin();
  4.                 }
  5.         }
复制代码

备注:登录成功后执行函数


2.discuzcode 嵌入点

路径:source\function\function_discuzcode.php

  1. hookscript('discuzcode', 'global', 'funcs', array('param' => $param, 'caller' => 'discuzcode'), 'discuzcode');
复制代码


说明:对应的调用函数固定命名应为discuzcode(),与showmessage的嵌入点类似,接受一个参数,参数为discuzcode函数所有参数的集合的一个数组。该嵌入点通常用于处理discuzcode输出,可以定义插件专有的code替换代码。

3.deletethread和deletepost函数嵌入点
路径:source\function\function_delete.php
  1. hookscript('deletepost', 'global', 'funcs', array('param' => $hookparam, 'step' => 'check'), 'deletepost');
  2. hookscript('deletepost', 'global', 'funcs', array('param' => $hookparam, 'step' => 'delete'), 'deletepost');
  3. hookscript('deletethread', 'global', 'funcs', array('param' => $hookparam, 'step' => 'check'), 'deletethread');
  4. hookscript('deletethread', 'global', 'funcs', array('param' => $hookparam, 'step' => 'delete'), 'deletethread');
复制代码

说明:该嵌入点分别在删除主题(帖子)操作的前后执行,区别在于'step'参数的值。对应的调用函数命名应为 deletethread()和deletepost(),接受一个参数以取得deletethread和deletepost函数所有参数。该嵌入点用于执行删除主题(帖子)时,嵌入插件操作






欢迎光临 无限星辰工作室-客户无限互联网动力之源 (https://xmspace.net/) Powered by Discuz! X3.4