Skip to content
This repository has been archived by the owner on Jan 10, 2019. It is now read-only.

自定义第三方模块

chekun edited this page Mar 20, 2013 · 2 revisions

自定义第三方模块

本章节需要对CodeIgniter和DiliCMS有一定的了解

第三方模块用于扩展丰富DiliCMS功能,并保证代码编写方式和CodeIgniter一致且完整集成到DiliCMS的权限系统中。

支持的版本: DiliCMS 2.0Final 及 以上

第三方模块标识

多模块并存需要该标识唯一,该标识用于文件夹名称。下述说明以标识名为"xyz"为例说明。

第三方模块存放位置

admin/controllers/xyz

位置示例图

第三方基础控制器

文件名称 admin/controllers/xyz/Zyz_Controller.php

代码

class Xyz_Controller extends Admin_Controller
{
	public function __construct()
	{
		parent::__construct();
		$this->acl->filter_left_menus('xyz/dashboard', 3, 'xyz/');//参数一是第三方模块的默认首页路径,第二个参数是第三方模块的顺序,从3开始排序,0,1,2已被系统占用,第三个参数是路径,值为标识+"/"。
		// 这里可以放模块需要初始化的类库,变量等。
	}

	protected function _check_permit($action = '')
	{
		parent::_check_permit($action, 'xyz/');//只需将第二个参数改写为标识+"/"
	}
}

基础控制器示例代码

第三方普通控制器

只需继承Xyz_Controller.php编写,即可。

普通控制器示例代码

集成到菜单显示

目前需要手动在表dili_menus添加记录,class字段要填写"标识名/控制器名",method字段填写方法名即可 要更新缓存

菜单集成演示

集成到权限管理

目前需要手动在表dili_rights添加记录,方法同上 要更新缓存

权限集成演示