水平凡 创建新的插件
第一步,插件的基本结构创建:
我们先进入网站后台,扩展管理->创建新插件!
根据上图所示,填写对应的内容,点击提交,一个基础插件就创建完成了!
创建完成后,会在“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/”!
提示:安装完插件,需要刷新后台才能看到插件后台!
预期的效果
水平凡 创建新的插件相关推荐
- Grafana 7.0 发布:改进的界面、新的插件平台和可视化等
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者 | xplanet 来源 | www.oschina ...
- mysql设置用户永不过期_在Navicat Premium中管理MySQL用户 - 第2部分:创建新用户
第2部分:创建新用户 在第1部分中,我们学习了如何使用Navicat Premium用户管理工具保护MySQL root帐户.本篇文章将讨论设置新用户的帐户详细信息,帐户限制和SSL设置. The G ...
- 乐鑫ESP32开发 1.Vscode创建新工程,编译,下载烧录,监视端口,点亮一个LED
前言 Vscode安装ESP-IDF插件后,会在左下角生成一些按钮,用户可以点击实现配置.编译.下载.调试等功能. 但鉴于ESP-IDF的Vscode插件体验不是很好:不仅容易安装出错导致不能使用 ...
- Jenkins+Gerrit创建新工程手顺
1. Gerrit创建新工程 管理员登录Gerrit,Project创建新工程,工程名与远程Git库工程名必须一样. 2. Jenkins配置 > 配置review Jobs Git配置为Ger ...
- (Tekla Structures二次开发)使用VS创建Tekla Structures插件的模板
Tekla官方提供了相应的模板,对应页面地址: https://developer.tekla.com/tekla-structures/documentation/create-new-projec ...
- anaconda 的安装及环境配置、anaconda创建新的环境、jupyter代码高亮及自动补全、改变jupyter注释的字体及颜色
文章目录 anaconda的安装及环境配置 下载 安装 配置环境变量 检查是否安装成功 添加中国镜像 添加或移除通道 anaconda创建新的环境及相关命令 jupyter notebook代码自动补 ...
- 创建新的apple id_Apple似乎如何规划Apps的新未来
创建新的apple id Just like last year, this year's Apple World Wide Developer Conference, where new updat ...
- postcss 插件_PostCSS深入研究:创建自己的插件
postcss 插件 到现在为止,我相信您已经很认真并真正地聚集了,使PostCSS惊奇的是它蓬勃发展的插件生态系统. 一个巨大的原因是,有这么多很棒的插件,而且每时每刻都有更多的插件出现,这是因为P ...
- navicat新建mysql用户_Navicat使用教程:在Navicat Premium中管理MySQL用户 - 第2部分:创建新用户...
第2部分:创建新用户 在第1部分中,我们学习了如何使用Navicat Premium用户管理工具保护MySQL root帐户.本篇文章将讨论设置新用户的帐户详细信息,帐户限制和SSL设置. The G ...
最新文章
- ArcGis License 启动失败
- 重新建立域计算机账户与域控制器的联系
- MUI+H5手机上传照片 支持多图片上传和拍照上传
- linux编译llvm代码
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1103:陶陶摘苹果
- 主流开源编解码器Xvid,x264,ffmpeg 性能对比
- 廖雪峰讲python高阶函数求导公式_高阶函数 - 廖雪峰 Python 2.7 中文教程
- 【选手分享】菜鸡到大佬的蜕变技巧
- Dart入门—库、泛型与异常
- oc转java_OC和Java
- html链接抓取,【SEO工具】网页超链接提取工具(无语网站链接抓取器)
- Junos: 使用之前
- Android入门基础教程1
- 付费音乐如何下载???
- CentOS7.5部署WeADMIN监控主机交换机配置[详解]
- d3.js-V3制作简单的飞线图
- Unity粒子系统参数解析(一)
- 【Python技巧】(虚拟环境报错、pycharm)无法加载文件 ...\venv\Scripts\activate.ps1,因为在此系统上禁止运行脚本。
- NBOOT、EBOOT、UBOOT介绍
- 池水含盐问题C++仿真