phpcms v9新模块的安装及卸载

时间:2024-10-23 12:48:59

1、进入phpcms V9 后台管理的“模块管理”页面(此处我跳过了phpcms 项目的安装过程,有兴趣的同学可以参考本人的另一篇经验:http://jingyan.baidu.com/article/9989c746da8402f648ecfed2.html),

phpcms v9新模块的安装及卸载

2、尝试卸载然后再安装默认的模块,从而了解后续新增模块的操作流程。通过实际操作我们发现一个好处是,增加了灵活性,达到了模块化的要求,以下我们尝试新建一个模块并达到可安装,可卸载的功能。

phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载

3、新建模块目录,此处将模块的名称命名为hlong(大家可以随意起名),并在该目录下创建以下几个目录:classes(类目录)functions(函数目录)install(安装目录)templates(后台模板目录)uninstal(卸载目录)

phpcms v9新模块的安装及卸载

4、在install目录下新建一个config.inc.php文件复制粘贴以下代码:defined('IN_PHPCMS') or exit('Access Denied');defined('INSTALL') or exit('Access Denied');$module = 'hlong';$modulename = '红龙';$introduce = '红龙测试模块';$author = 'hlong';$authorsite = 'http://www.xxx.xxx';$authoremail = '[email protected]';进入后台“更新缓存”这时候可以看到一个“红龙”模块处于可安装状态,但是这时候还没完成,我们继续。。

phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载

5、install目录下新建extention.inc.php文件(1)parentid=29 表示在“模块列表”显示;(2)parentid=0 表示在“主菜单”显示;(3)parentid=其他(可在“拓展-菜单管理”中查看),表示在对应菜单显示;复制粘贴以下代码:defined('IN_PHPCMS') or exit('Access Denied');defined('INSTALL') or exit('Access Denied');$parentid = $menu_db->insert(array('name'=>'hlong', 'parentid'=>'29', 'm'=>'hlong', 'c'=>'hlong', 'a'=>'init', 'data'=>'', 'listorder'=>0, 'display'=>'1'), true);$menu_db->insert(array('name'=>'add', 'parentid'=>$parentid, 'm'=>'hlong', 'c'=>'hlong', 'a'=>'add', 'data'=>'', 'listorder'=>0, 'display'=>'1'));$menu_db->insert(array('name'=>'edit', 'parentid'=>$parentid, 'm'=>'hlong', 'c'=>'hlong', 'a'=>'edit', 'data'=>'', 'listorder'=>0, 'display'=>'1'));$menu_db->insert(array('name'=>'delete', 'parentid'=>$parentid, 'm'=>'hlong', 'c'=>'hlong', 'a'=>'delete', 'data'=>'', 'listorder'=>0, 'display'=>'1'));$language = array('hlong'=>'红龙测试','add'=>'添加','edit'=>'修改','delete'=>'删除');通过上述配置,我们在创建模块的同时,可以同时创建几个菜单“添加,修改,删除”

phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载

6、创建控制器文件和模板文件:5步骤中,我们可以看到创建的内容(模块:hlong,控制器:hlong,方法:init)控制器文件复制粘贴以下代码:<?phpdefined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_app_class('admin', 'admin', 0);class hlong extends admin { function __construct() { parent::__construct();} public function init() { include $this->admin_tpl('hlong');}}由上述控制器文件,我们可以知道模板名称是“hlong”,在templdates目录下新建个test.tpl.php(注意后台模板文件后缀名为".tpl.php")文件模板文件复制粘贴以下代码:<?phpdefined('IN_ADMIN') or exit('No permission resources.');include $this->admin_tpl('header','admin');?><div我是红龙模块的测试内</div></body></html>

phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载

7、在install目录新建个modules.sql文件写上以下代码INSERT INTO `phpcms_module` ( `module`, `name`, `url`, `iscore`, `version`, `description`, `setting`, `listorder`, `disabled`, `installdate`, `updatedate`) VALUES ('hlong', '红龙测试', '', '0', '1.0', '', '', '0', '0', '2017-05-24', '2017-05-24');iscore(1:系统内置模块,0:可选模块);disabled(1:禁止卸载,0:可卸载);setting是模块的配置变量,是字符串数组

phpcms v9新模块的安装及卸载

8、在install目录下新建model.php文件:安装模块时,系统会根据这个数组的值调用同目录下的同名sql文件复制并粘贴以下代码:<?php defined('IN_PHPCMS') or exit('Access Denied');defined('INSTALL') or exit('Access Denied');return array('hlong');?>在install目录下新建hlong.sql文件复制并粘贴以下代码:

phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载

9、在model目录下新建hlong_model.class.php文件:复制并粘贴以下代码:<?phpdefined('IN_PHPCMS') or exit('No permission resources.');pc_base::load_sys_class('model', '', 0);class hlong_model extends model { public function __construct() { $this->db_config = pc_base::load_config('database'); $this->db_setting = 'default'; $this->table_name = 'hlong'; parent::__construct();}}?>

phpcms v9新模块的安装及卸载

10、再次进入后台“模块管理”找到刚才的模块,点击安装:

phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载

11、在uninstall目录下新建extention.inc.php和hlong.sql文件,extention.inc.php返回值即是需要删除的表名,同时在uninstall目录中新建对应表名的dropsql语句:extention.inc.php:<?phpdefined('IN_PHPCMS') or exit('Access Denied');defined('UNINSTALL') or exit('Access Denied'); return array('hlong');?>hlong.sql:DROP TABLE IF EXISTS `phpcms_hlong`;

phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载

12、再次进入后台“模块管理”,找到对应的模块,点击可卸载

phpcms v9新模块的安装及卸载
phpcms v9新模块的安装及卸载
© 手抄报圈