安装程序制作

这里介绍的是模块开发好后的安装程序(通俗的讲,就是把你开发的程序,加入ShuipFCMS的模块管理,支持安装/卸载)。
基本的安装程序结构如下:
2015-08-05/55c1976658f3d
解释:

Install 模块下的安装目录(注意大小写)
Template 前台模板目录(注意:该目录下需要创建一个和当前模块一样的文件夹,然后才在下面放相应模板。)例如:Special模块,我们就要创建“SpecialInstallTemplateSpecial”这个目录,然后才在里面放各个控制对应的模板。
Menu.php 这个后台菜单项,也是权限控制项。
Special.sql 这个数据库安装脚本,命名是当前模块名。如果没有数据库相关,可以不需要。


这就是最基本的安装程序。可以实现模块的安装。
这里我们介绍下Menu.php文件:

return array(
    array(
        //父菜单ID,NULL或者不写系统默认,0为顶级菜单
        "parentid" => NULL,
        //地址,[模块/]控制器/方法
        "route" => "Search/Search/index",
        //类型,1:权限认证+菜单,0:只作为菜单
        "type" => 0,
        //状态,1是显示,0不显示(需要参数的,建议不显示,例如编辑,删除等操作)
        "status" => 1,
        //名称
        "name" => "搜索配置",
        //备注
        "remark" => "搜索配置!",
        //子菜单列表
        "child" => array(
            array(
                "route" => "Search/Search/create",
                "type" => 1,
                "status" => 1,
                "name" => "重建索引",
                "child" => array(
                     //这里是其它的子菜单
                )
            ),
            array(
                "route" => "Search/Search/searchot",
                "type" => 1,
                "status" => 1,
                "name" => "热门搜索",
            ),
        ),
    ),
);

如果您能开发模块,我相信您对上面的代码很了解它是干什么的吧~
同时系统还提供一个 D("Admin/Access")->isCompetence 方法,用于判断是否有权限!
例如:D("Admin/Access")->isCompetence("Special/Index/index") 这个就是判断 Special模块下SpecialAction.class.php里的index方法是否有权限执行。


如果上面的安装方法已经满足你了,下面的更高级的用法,就可以不用看拉~
模块安装是支持安装脚本的,也就是“SpecialInstallInstall.class.php
Install.class.php 文件,就是由开发者,自己来决定,要如何安装这个模块的一些流程,需要处理的东西。
安装脚本,必须实现两个方法,run 执行安装方法 end 安装完成回调方法。
一个例子:

namespace SearchInstall;//这里的Search是你模块的目录名称,这点很重要
use LibsSystemInstallBase;
class Install extends InstallBase {
    //安装前进行处理
    public function run() {
        return true;
    }
    //基本安装结束后的回调
    public function end() {
        return true;
    }
}
文章导航