第一步,插件的基本结构创建:

我们先进入网站后台,扩展管理->创建新插件

根据上图所示,填写对应的内容,点击提交,一个基础插件就创建完成了!

创建完成后,会在“shuipf/Addons”目录下出现一个新的目录“GuestBook”,它的结构如下:

Action目录下的“AdminAction.class.php”是后台控制器,“IndexAction.class.php”是前台控制器!View是模板文件!

重点介绍“GuestBookAddon.class.php”这个文件,它才是重点!

<?php/*** 留言板 插件* Some rights reserved:abc3210.com* Contact email:admin@abc3210.com*/
class GuestBookAddon extends Addon {//插件信息public $info = array('name' => 'GuestBook','title' => '留言板','description' => '这是一个简单实用的留言板插件!','status' => 1,'author' => '水平凡','version' => '1.0.0','has_adminlist' => 1,);//有开启插件后台情况下,添加对应的控制器方法//也就是插件目录下 Action/AdminAction.class.php中,public属性的方法!//每个方法都是一个数组形式,删除,修改类需要具体参数的,建议隐藏!public $adminlist = array(array(//方法名称"action" => "index",//附加参数 例如:a=12&id=777"data" => "",//类型,1:权限认证+菜单,0:只作为菜单"type" => 0,//状态,1是显示,2是不显示"status" => 1,//名称"name" => "留言管理",//备注"remark" => "",//排序"listorder" => 0,),);//安装public function install() {return true;}//卸载public function uninstall() {return true;}}

该文件结构如上,install方法和uninstall方法是必须实现的方法!意思也很简单,上面有注释,这两个方法作用怎么说勒,如果你插件没啥其他方面的操作,比如数据库安装,插件的静态文件(css等)这些都可以在安装时,卸载时,进行处理!

$adminlist 这个数组,也比较重要,它的作用就是AdminAction.class.php这个控制器中,所有public方法的菜单(起到权限控制的作用

Config.php”这个文件,这个文件主要是配置插件后台的各个配置参数。比如留言有这么即可设置选项:是否开启留言、是否需要验证码等等,这些开关总不能一直去改代码吧?所以Config.php这个文件的作用就是配置这些的。

这是一个简单的留言板插件!

前台模板只是示例,需要修改成符合自己站点风格模板。

使用说明

插件安装后,进入留言板后台,添加留言分类,然后才可以正常使用!

模板文件在插件目录下的View目录下,也就是“GuestBook/View/Index/”!

提示:安装完插件,需要刷新后台才能看到插件后台!

预期的效果

水平凡 创建新的插件相关推荐

  1. Grafana 7.0 发布:改进的界面、新的插件平台和可视化等

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者 | xplanet 来源 | www.oschina ...

  2. mysql设置用户永不过期_在Navicat Premium中管理MySQL用户 - 第2部分:创建新用户

    第2部分:创建新用户 在第1部分中,我们学习了如何使用Navicat Premium用户管理工具保护MySQL root帐户.本篇文章将讨论设置新用户的帐户详细信息,帐户限制和SSL设置. The G ...

  3. 乐鑫ESP32开发 1.Vscode创建新工程,编译,下载烧录,监视端口,点亮一个LED

    前言  Vscode安装ESP-IDF插件后,会在左下角生成一些按钮,用户可以点击实现配置.编译.下载.调试等功能.  但鉴于ESP-IDF的Vscode插件体验不是很好:不仅容易安装出错导致不能使用 ...

  4. Jenkins+Gerrit创建新工程手顺

    1. Gerrit创建新工程 管理员登录Gerrit,Project创建新工程,工程名与远程Git库工程名必须一样. 2. Jenkins配置 > 配置review Jobs Git配置为Ger ...

  5. (Tekla Structures二次开发)使用VS创建Tekla Structures插件的模板

    Tekla官方提供了相应的模板,对应页面地址: https://developer.tekla.com/tekla-structures/documentation/create-new-projec ...

  6. anaconda 的安装及环境配置、anaconda创建新的环境、jupyter代码高亮及自动补全、改变jupyter注释的字体及颜色

    文章目录 anaconda的安装及环境配置 下载 安装 配置环境变量 检查是否安装成功 添加中国镜像 添加或移除通道 anaconda创建新的环境及相关命令 jupyter notebook代码自动补 ...

  7. 创建新的apple id_Apple似乎如何规划Apps的新未来

    创建新的apple id Just like last year, this year's Apple World Wide Developer Conference, where new updat ...

  8. postcss 插件_PostCSS深入研究:创建自己的插件

    postcss 插件 到现在为止,我相信您已经很认真并真正地聚集了,使PostCSS惊奇的是它蓬勃发展的插件生态系统. 一个巨大的原因是,有这么多很棒的插件,而且每时每刻都有更多的插件出现,这是因为P ...

  9. navicat新建mysql用户_Navicat使用教程:在Navicat Premium中管理MySQL用户 - 第2部分:创建新用户...

    第2部分:创建新用户 在第1部分中,我们学习了如何使用Navicat Premium用户管理工具保护MySQL root帐户.本篇文章将讨论设置新用户的帐户详细信息,帐户限制和SSL设置. The G ...

最新文章

  1. ArcGis License 启动失败
  2. 重新建立域计算机账户与域控制器的联系
  3. MUI+H5手机上传照片 支持多图片上传和拍照上传
  4. linux编译llvm代码
  5. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1103:陶陶摘苹果
  6. 主流开源编解码器Xvid,x264,ffmpeg 性能对比
  7. 廖雪峰讲python高阶函数求导公式_高阶函数 - 廖雪峰 Python 2.7 中文教程
  8. 【选手分享】菜鸡到大佬的蜕变技巧
  9. Dart入门—库、泛型与异常
  10. oc转java_OC和Java
  11. html链接抓取,【SEO工具】网页超链接提取工具(无语网站链接抓取器)
  12. Junos: 使用之前
  13. Android入门基础教程1
  14. 付费音乐如何下载???
  15. CentOS7.5部署WeADMIN监控主机交换机配置[详解]
  16. d3.js-V3制作简单的飞线图
  17. Unity粒子系统参数解析(一)
  18. 【Python技巧】(虚拟环境报错、pycharm)无法加载文件 ...\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。
  19. NBOOT、EBOOT、UBOOT介绍
  20. 池水含盐问题C++仿真

热门文章

  1. 如何从Google Play下载应用到电脑
  2. 小小Mac:Web移动端适配方案
  3. 聚焦质控 | 如何进行单病种过程质量管理
  4. 让python飞:形象理解python os模块、内存硬盘、字节字符、文件读写复制
  5. Linux安全原理简介
  6. 致敬5G时代“她力量”,那些让人怦然“兴”动的女神们
  7. 常用的RTMP、RTSP、HTTP协议流直播流地址
  8. 跟李沐学AI:实用机器学习 | 第五章
  9. Ubuntu-安装汉语拼音输入法
  10. 《微信》医保支付功能介绍