第一步,插件的基本结构创建:
我们先进入网站后台,扩展管理->创建新插件!
根据上图所示,填写对应的内容,点击提交,一个基础插件就创建完成了!
创建完成后,会在“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/”!
提示:安装完插件,需要刷新后台才能看到插件后台!
预期的效果