手把手一步步教你使用rpcms的模板Hook

简介: rpcms可以制作模板和插件,有时候做的模板需要自定义一些功能,但又不想通过插件实现,那样用户在使用模板的时候,还必须配套插件才可以。为避免这写繁琐的操作,让用户使用模板更方便,我们可以使用模板的Hook功能。这个功能使用起来也很方便,只需要在你的模板文件夹中创建Hook.class.php,文件内容如下:

rpcms可以制作模板和插件,有时候做的模板需要自定义一些功能,但又不想通过插件实现,那样用户在使用模板的时候,还必须配套插件才可以。为避免这写繁琐的操作,让用户使用模板更方便,我们可以使用模板的Hook功能。

这个功能使用起来也很方便,只需要在你的模板文件夹中创建Hook.class.php,文件内容如下:

<?php
namespace template\index\tempName;
class Hook{
  public function addHook(){
    $data=array(
      'comment_save'=>'template\index\tempName\hook::sendMsg',
    );
    return $data;
  }
  public function sendMsg($data){
    /*
        *这里是自定义Hook的业务逻辑
        */
  }
}

image.gif

A、其中,namespace就是字面意思,空间命名,格式:template\index\模板文件夹名称

这里需要注意两点:

    1. 使用的是反斜线,不是斜线!不是斜线!!
    2. 模板文件夹名称区分大小写,注意了,这里很容易忽略,特别是win用户开发的时候。

    B、这个文件中有一个固定函数:addHook名称是固定的,不要修改!

    addHook函数是返回模板定义的钩子,按照上述格式编写即可(请确保钩子存在)

    然后再自定义的钩子里面写自己的业务逻辑就行了,是不是很方便哈,只用模板就可以是些一些功能,不用再单独下载插件了。

    相关文章
    |
    JSON JavaScript 前端开发
    Vue的第三章节之模版语法下篇(带你感受来自Vue模版语法的魅力)
    Vue的第三章节之模版语法下篇(带你感受来自Vue模版语法的魅力)
    79 0
    |
    6月前
    |
    小程序
    uniapp项目实践第一章:如何创建uniapp项目
    uniapp项目实践第一章:如何创建uniapp项目
    76 1
    |
    6月前
    |
    小程序 开发工具 git
    uniapp项目实践第三章:初始化项目
    uniapp项目实践第三章:初始化项目
    93 0
    |
    6月前
    |
    安全 编译器 C++
    C++之模版初阶(简单使用模版)
    C++之模版初阶(简单使用模版)
    怎么快速熟悉模板
    怎么快速熟悉模板
    |
    6月前
    |
    存储 JSON 缓存
    【源码共读】axios的46个工具函数
    【源码共读】axios的46个工具函数
    149 0
    |
    BI 定位技术 Python
    SWMM从入门到实践教程 04 快速入门案例的模拟执行
    在左侧双击Options中的Dates,即可弹出时间的设置。此处为了教学,建议仅模拟6个小时,加快结果的生成。实际项目中,可以根据需求对指定场次的降雨时常进行模拟,并注意这个时常一定不低于降雨时常(我们的雨量计设置了2小时降雨,所有66个小时的模拟也是合理的)。
    |
    JavaScript 前端开发 开发工具
    【从零到一手撕脚手架 | 第一节】配置基础项目结构 Vite + TypeScrpit + Vue3 初始化项目
    今天为大家带来一套教程,教大家入门“脚手架”,相信你一定会有所收获。 目前项目已开源且仍处于开发阶段,后续会更新更多内容,如有不正确的地方请大家指正,我会及时更新并纠正我的错误。
    543 0
    【从零到一手撕脚手架 | 第一节】配置基础项目结构 Vite + TypeScrpit + Vue3 初始化项目
    |
    前端开发
    前端学习笔记202304学习笔记第十六天-vue3.0-介绍案例的效果和主要实现步骤
    前端学习笔记202304学习笔记第十六天-vue3.0-介绍案例的效果和主要实现步骤
    60 0
    |
    Python
    Django框架开发004期 Python编程调用自定义Django框架template模板网页
    Django框架开发004期 Python编程调用自定义Django框架template模板网页
    127 0
    下一篇
    无影云桌面