ThinkCMF插件教程之写个HelloWorld插件

前言

趁着有时间,学习一波插件,插件是个好东西,希望人人都会写。


环境

语言:php5.6
框架:ThinkCMF


教程开始

1. 编写插件
  • 创建插件配置文件:创建插件主类文件:在根目录的plugins文件夹下创建一个HelloWorld文件夹,在HelloWrold文件夹下面 创建 config.php 文件
config.php代码如下


array(
        'title' => '文本:', // 表单的label标题
        'type' => 'text',// 表单的类型:text,password,textarea,checkbox,radio,select等
        'value' => 'hello,ThinkCMF!',// 表单的默认值
        'tip' => '这是文本组件的演示' //表单的帮助提示
    )
);
  • 在HelloWrold文件夹下面,创建一个继承与Plugin的HelloWorldPlugin类,该类的命名空间为plugins\HelloWorld。
HelloWorldPlugin类的代码如下

namespace plugins\HelloWorld;

use Common\Lib\Plugin;

class HelloWorldPlugin extends Plugin
{

    //插件的配置信息
    public $info = array(
        'name'=>'HelloWorld',//Demo插件英文名,改成你的插件英文就行了
        'title'=>'HelloWorld插件',
        'description'=>'HelloWorld插件',
        'status'=>1,
        'author'=>'ThinkCMF',
        'version'=>'1.0'
    );

    //安装方法必须实现
    public function install()
    {
        //安装成功返回true,失败false
        return true;
        // TODO: Implement install() method.
    }
    //卸载方法必须实现
    public function uninstall()
    {
        //卸载成功返回true,失败false
        return true;
        // TODO: Implement uninstall() method.
    }
    
    //实现的show钩子方法
    public function show() {
        //获取config文件里面的text数组
        $config=$this->getConfig('text');
        //赋值
        $this->assign($config);
        //载入模板index.html,传入参数不要写.html后缀
        $this->display('index');
    }
}
  • 创建模板文件:在HelloWorld文件夹下面创建一个View文件夹,在View文件下创建一个index.html文件
index.html文件 代码如下




  
  ThinkCMF插件演示首页


{$text}

  • 创建外部访问文件:在HelloWorld文件夹下面创建一个Contrller文件夹,在Contrller文件下创建一个所需文件,本教程用不到就不创建。
2.添加钩子
  • 打开 根目录/application/Portal/hooks.php 添加 show 方法
代码如下:

3.使用教程

登录 thinkcmf的后台,选择扩展工具,点击插件管理,如下图


ThinkCMF插件教程之写个HelloWorld插件_第1张图片
Paste_Image.png

点击安装,安装HelloWorld插件,如下图

Paste_Image.png
  • 调用方法 hook('钩子方法') 如下
hook('show');
显示结果
ThinkCMF插件教程之写个HelloWorld插件_第2张图片
Paste_Image.png
注意事项
  • 如果修改了钩子,即在hooks.php里面添加了钩子或者删除了钩子方法,必须到ThinkCMF后台去更新或者重装插件

  • 查看插件的钩子方法,打开后台在插件管理里面的钩子列里面方法就是,可以使用的钩子方法 如下图的show方法。


    Paste_Image.png
  • 修改了插件的配置信息即在主文件里(HelloWorldPlugin )的 $info 数组, 也要去后台更新插件或者重装插件。

你可能感兴趣的:(ThinkCMF插件教程之写个HelloWorld插件)