DouPHP复制功能模块

风笛
2018-12-19 / 0 评论 / 218 阅读 / 正在检测是否收录...

kzii1gg5.png

经过两个晚上的研究,终于能够对DouPHP复制一个模块有一些了解,模棱两可地实现了模块的复制。

在此,做一些记录,以便日后使用。

一、主要步骤

1、复制一个模块

2、将模块的关键词改成要复制的关键词(每个相关的文件都要修改,最主要的是后台admin的文件)

3、修改数据库字段(将sql文件放到编辑器中,替换关键词)

4、导入数据表

5、上传模块文件到根目录

6、写入模块信息(data/system.php)

二、模块结构

在复制模块之前,最好先对模块的结构有所了解,以方便后续修改相关文件。

模块的类型有两种:column_module(通俗点说就是带有分类的模块,常用的产品,文章等),single_module(留言板,会员,订单都是这个模块)

column_module的目录结构,以article模块(20181217版本)为例,按照以下规范进行开发即可!

kzii25ij.png

single_module的目录结构,以guestbook模块为例,按照以下规范进行开发即可!

kzii2i37.png

最新的版本,结构有一定的出入,可下载最新的模块进行了解。

三、复制DouPHP模块

按照上面说到的步骤操作,下面以Download下载模块为例,复制模块改成Ebook电子书下载模块。主要介绍第3步和第6步。

第1步,复制download模块

第2步,从上到下,一个个文件查询download这个关键词,并替换成ebook的新关键词(最主要的是后台admin的文件)

第3步,修改数据库字段,将SQL文件 ebook/data/backup/ebook.sql 拖到编辑器,查询download这个关键词,并替换成ebook的新关键词

DROP TABLE IF EXISTS `dou_ebook`;
CREATE TABLE `dou_ebook` (
  `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `cat_id` smallint(5) NOT NULL DEFAULT '0',
  `title` varchar(150) NOT NULL DEFAULT '',
  `defined` text NOT NULL,
  `content` longtext NOT NULL,
  `image` varchar(255) NOT NULL DEFAULT '',
  `ebook_link` varchar(255) NOT NULL DEFAULT '',
  `size` varchar(50) NOT NULL DEFAULT '',
  `click` smallint(6) unsigned NOT NULL DEFAULT '0',
  `keywords` varchar(255) NOT NULL DEFAULT '',
  `description` varchar(255) NOT NULL DEFAULT '',
  `add_time` int(10) unsigned NOT NULL DEFAULT '0',
  `sort` tinyint(1) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


DROP TABLE IF EXISTS `dou_ebook_category`;
CREATE TABLE `dou_ebook_category` (
  `cat_id` smallint(5) NOT NULL AUTO_INCREMENT,
  `unique_id` varchar(30) NOT NULL DEFAULT '',
  `cat_name` varchar(255) NOT NULL DEFAULT '',
  `keywords` varchar(255) NOT NULL DEFAULT '',
  `description` varchar(255) NOT NULL DEFAULT '',
  `parent_id` smallint(5) NOT NULL DEFAULT '0',
  `sort` tinyint(1) unsigned NOT NULL DEFAULT '50',
  PRIMARY KEY (`cat_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

第4步,导入数据库。

方法1:通过phpmyadmin或者Navicat等数据库管理工具导入;

方法2:通过后台的数据备份中的恢复备份导入(点击“数据备份”->“恢复备份”导入模块数据)

第5步,上传模块文件到根目录。

第6步,写入模块信息(data/system.php)。

DouPHP v1.5 Release 20181217版本之前的版本,打开站点目录下“data/system.dou”并写入模块信息。

DouPHP v1.5 Release 20181217版本,安全升级之后,将system.dou改为system.php防止被查看到安装过什么模块,并将系统安装标识改为install.lock。因此,打开站点目录“data/system.php”文件,并写入模块信息。

<?php
'
column_module:product,article,download,ebook
single_module:link,fragment

'
?>

column_module:同时具有分类和列表的模块,只需要填写模块名称即可在后台同事加上分类和列表;

single_module:只有列表,没有分类的模块,填写模块名称,只显示模块列表。

至此,模块的复制就完成了。

0

评论 (0)

取消