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 相关文章推荐
php代码中使用换行及(\n或\r\n和br)的应用
Feb 02 PHP
PHP计数器的实现代码
Jun 08 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
PHP实现AES256加密算法实例
Sep 22 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
php实现多城市切换特效
Aug 09 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
Laravel中Facade的加载过程与原理详解
Sep 22 PHP
php ajax数据传输和响应方法
Aug 21 PHP
swoole_process实现进程池的方法示例
Oct 29 PHP
PHP goto语句用法实例
Aug 06 PHP
laravel5.6实现数值转换
Oct 23 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
PHP树的代码,可以嵌套任意层
2006/10/09 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
PHP安全上传图片的方法
2015/03/21 PHP
javascript函数中的arguments参数
2010/08/01 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
基于AngularJS实现的工资计算器实例
2017/06/16 Javascript
分分钟学会vue中vuex的应用(入门教程)
2017/09/14 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
js实现移动端轮播图
2020/12/21 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
webpack的pitching loader详解
2019/09/23 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
Python入门篇之面向对象
2014/10/20 Python
用生成器来改写直接返回列表的函数方法
2017/05/25 Python
Python编程之string相关操作实例详解
2017/07/22 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
Django的models模型的具体使用
2019/07/15 Python
Python 实现数组相减示例
2019/12/27 Python
python利用platform模块获取系统信息
2020/10/09 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
计算机毕业大学生推荐信
2013/12/01 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
银行委托书范本
2014/09/28 职场文书
秋季运动会开幕词
2015/01/28 职场文书
银行工作心得体会范文
2016/01/23 职场文书
2016年五一促销广告语
2016/01/28 职场文书
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS