destoon复制新模块的方法


Posted in PHP onJune 21, 2014

在destoon的实际使用过程中我们往往需要根据情况建立一些系统没有的模块,这时候就需要复制已有的模块来根据已有模块建立新的模块,具体操作方法如下:

首先选择一个我们需要的模块(因为系统默认文章和信息模块是可以复制的,在这里我们只研究非默认的模块怎么复制),我选择的是模块名称是品牌,目录名是brand,模块ID是13,你也可以根据你的需要选择要复制的模块。

第一步,复制根目录下的brand这个文件夹,粘贴然后重命名,这里我们用rename命名作为示范。于是你的根目录下多了一个名称为rename的文件夹,我们打开这个文件夹,找到config.inc.php这个文件,打开后里面是这样写的

<?php
$moduleid = 13;
?>

把这里的13改成一个你现在模块ID里没有的数字,我们用88代替它作为示范。

第二步,找到根目录下/module这个文件夹打开,复制里面的brand文件夹,粘贴后重命名为rename,打开这个新文件夹内的admin/config.inc.php这个文件,里面的文件是这样的(为方便理解,此处增加了注释)

<?php
defined(‘IN_DESTOON') or exit(‘Access Denied');
$MCFG['module'] = ‘brand';//这里改为 ‘rename';
$MCFG['name'] = ‘品牌';//这里改为你的新模块名比如: ‘新模块';
$MCFG['author'] = ‘Destoon.COM';
$MCFG['homepage'] = ‘www.destoon.com';
$MCFG['copy'] = false;//这里改为true;
$MCFG['uninstall'] = true;
$MCFG['moduleid'] = 13;//这里改为88;
$RT = array();
$RT['file']['index'] = ‘品牌管理';
$RT['file']['html'] = ‘更新网页';
$RT['action']['index']['add'] = ‘添加品牌';
$RT['action']['index']['edit'] = ‘修改品牌';
$RT['action']['index']['delete'] = ‘删除品牌';
$RT['action']['index']['check'] = ‘审核品牌';
$RT['action']['index']['expire'] = ‘过期品牌';
$RT['action']['index']['reject'] = ‘未通过品牌';
$RT['action']['index']['recycle'] = ‘回收站';
$RT['action']['index']['move'] = ‘移动品牌';
$RT['action']['index']['level'] = ‘品牌级别';
$CT = true;
?>

将这里的品牌,全部替换为你的新模块名比如:'新模块',并根据注释做相应修改后保存,然后打开同级目录内的html.inc.php这个文件在大概65和66行找到

if($update) {
require MD_ROOT.'/brand.class.php';
$do = new brand($moduleid);
}

把两个brand替换为rename后保存,再打开同级目录内的index.inc.php这个文件,在大概在第三行找到

require MD_ROOT.'/brand.class.php';
$do = new brand($moduleid);

同样把这两个brand替换为rename后保存,OK,找到上级目录(根目录/module/rename)的my.inc.php这个文件,用编辑器的替换功能把所有brand替换为rename后保存,再打开同级目录下的brand.class.php这个文件,同样用编辑器的替换功能把所有brand替换为rename后另存为(注意是另存为)rename.class.php。

第三步,找到你的模板路径(默认为根目录/template/default)复制brand文件夹粘贴后重命名为rename,再打开同级目录下的member文件夹找到my_brand.htm这个文件,复制粘贴后重命名为my_rename.htm。

做完以上三步,我们的复制模块之路的代码方面就基本完成了,接下来就是复制数据库了,找到数据库中destoon_brand和destoon_brand_data这两张表,复制后重命名为destoon_rename和destoon_rename_data,(如果数据库在运行中,可能需要暂停后执行以上操作)

OK,完成之后登录后台,在 我的面板-》模块管理 里面选择添加模块,然后填入模块名称如: “新模块”,在所属模型这个下拉选项中你会发现多出来一个名为“新模块”的选项,选中它,在安装目录里填上rename,点确定。然后去功能模块中看,是否已经多出来一个名为 “新模块”的功能模块?如果出现,说明你刚刚的操作没有问题,恭喜你模块已经添加完成了。但是你沉浸在喜悦之中急切的想在新模块中添加数据的时候发现页面是空白的,这是为什么呢?原因就在于在模块设置里面有个信息排序方式,在这里随便选择一个,顺便把下面的列表或搜索主字段也填填吧,填完之后点确定,再去试一试添加是不是就可以使用了?

实际使用过程中还会遇到一个问题,就是添加的这个模块在会员中心使用的时候提示没有权限,请升级,去看了后台会员组权限发布信息的权限已经做了勾选,为什么还提示权限不够呢?解决方法是,找到根目录/module/member/admin/template/group_edit.tpl.php这个文件,在大概762行找到如下代码

</tr>
<tr>
<td class=”tl”>发布下载总数限制</td>
<td>
<input type=”text” name=”setting[down_limit]” size=”5″ value=”<?php echo $down_limit;?>”/>
</td>
</tr>
<tr>
<td class=”tl”>免费发布新模块数量</td>
<td>
<input type=”text” name=”setting[down_free_limit]” size=”5″ value=”<?php echo $down_free_limit;?>”/>
</td>
</tr>

改为:

</tr>
<tr>
<td class=”tl”>发布新模块总数限制</td>
<td>
<input type=”text” name=”setting[rename_limit]” size=”5″ value=”<?php echo $rename_limit;?>”/>
</td>
</tr>
<tr>
<td class=”tl”>免费发布下载数量</td>
<td>
<input type=”text” name=”setting[rename_free_limit]” size=”5″ value=”<?php echo $rename_free_limit;?>”/>
</td>
</tr>

复制这段改过的代码放在前面找到的那段代码的下面,保存后刷新,再去设置里面查看一下,最下面多出来两个需要填写的输入框,填进相关数字,点确定。OK,到这里会员就可以使用新模块了。

PHP 相关文章推荐
c#中的实现php中的preg_replace
Dec 21 PHP
PHP中防止SQL注入实现代码
Feb 19 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
php实现的美国50个州选择列表实例
Apr 20 PHP
php读取der格式证书乱码解决方法
Jun 22 PHP
CI框架支持$_GET的两种实现方法
May 18 PHP
PHP与Java对比学习日期时间函数
Jul 03 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
Jul 08 PHP
destoon找回管理员密码的方法
Jun 21 #PHP
destoon会员注册提示“数据校验失败(2)”解决方法
Jun 21 #PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
Jun 21 #PHP
destoon之一键登录设置
Jun 21 #PHP
destoon利用Rewrite规则设置网站安全
Jun 21 #PHP
destoon二次开发常用数据库操作
Jun 21 #PHP
destoon二次开发模板及调用语法汇总
Jun 21 #PHP
You might like
通用PHP动态生成静态HTML网页的代码
2010/03/04 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
关于document.cookie的使用javascript
2008/04/11 Javascript
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
全面理解闭包机制
2016/07/11 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
Django实战之用户认证(初始配置)
2018/07/16 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
数据库笔试题
2013/05/09 面试题
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
大学生毕业求职找工作的自我评价
2013/09/29 职场文书
初中生学习的自我评价
2013/11/14 职场文书
编辑求职信样本
2013/12/16 职场文书
预备党员思想汇报范文
2014/01/11 职场文书
荷叶圆圆教学反思
2014/02/01 职场文书
商业融资计划书
2014/04/29 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
新学期开学标语2015
2015/07/16 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python
详解Redis主从复制实践
2021/05/19 Redis
Python 中random 库的详细使用
2021/06/03 Python
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL