admin 发表于 2021-4-3 00:37:11

Destoon 新建自定义官方模块


[*]先在 module 目录下,新建模型目录

    1.1 ( 以复制信息模块为例 )复制info更改名为: car
    1.2目录所有info的文字更更改为 car
    1.2.1module \ car目录下   info.class.php改名为car.class.php   并修改第三行class info{为 class car{
       并修改第21行function car($moduleid) {               

    1.2.6 module \ car \ admin目录下    config.inc.php修改   ( 注:模型基本配置 )
<?php
defined('DT_ADMIN') or exit('Access Denied');
$MCFG['module'] = '<font color="#ff0000">car</font>';
$MCFG['name'] = '<font color="#ff0000">车源</font>';
$MCFG['author'] = 'yuhaokeji';
$MCFG['homepage'] = 'www.yuhaokeji.cn';
$MCFG['copy'] = true;
$MCFG['uninstall'] = true;

$RT = array();
$RT['file']['index'] = '<span style="color: rgb(255, 0, 0);">车源</span>管理';
$RT['file']['html'] = '更新网页';

$RT['action']['index']['add'] = '添加<span style="color: rgb(255, 0, 0);">车源</span>';
$RT['action']['index']['edit'] = '修改<span style="color: rgb(255, 0, 0);">车源</span>';
$RT['action']['index']['delete'] = '删除<span style="color: rgb(255, 0, 0);">车源</span>';
$RT['action']['index']['check'] = '审核<span style="color: rgb(255, 0, 0);">车源</span>';
$RT['action']['index']['expire'] = '过期<span style="color: rgb(255, 0, 0);">车源</span>';
$RT['action']['index']['reject'] = '未通过';
$RT['action']['index']['recycle'] = '回收站';
$RT['action']['index']['move'] = '移动<span style="color: rgb(255, 0, 0);">车源</span>';
$RT['action']['index']['level'] = '<span style="color: rgb(255, 0, 0);">车源</span>级别';

$CT = true;
?> 1.2.7module \ car \ admin目录下install.inc.php修改(注:安装程序文件)
<?php
defined('DT_ADMIN') or exit('Access Denied');
$setting = include(DT_ROOT.'/file/setting/module-23.php');
update_setting($moduleid, $setting);
$sql = file_get(DT_ROOT.'/file/setting/'.$module.'.sql');
$sql = str_replace('_23', '_'.$moduleid, $sql);
$sql = str_replace('车源', $modulename, $sql);
sql_execute($sql);
include DT_ROOT.'/module/'.$module.'/admin/remkdir.inc.php';
?>

1.2.8在 file / setting   目录下复制   module-22.php 和 info.sql    更改名称为:    module-24.php 和 car.sql
1.2.9   修改module-24.php 内容为

,'moduleid' => '24','name' => '车源','moduledir' => 'invest','module' => 'car','ismenu' => '1','domain' => '','linkurl' => 'http://demo.destoon.com/v8.0/invest/','mobile' => 'http://demo.destoon.com/v8.0/mobile/invest/',); ?>

1.2.30   修改car.sql 内容为
DROP TABLE IF EXISTS `destoon_car_24`;
CREATE TABLE `destoon_car_24` (
`itemid` bigint(20) unsigned NOT NULL auto_increment,
`catid` int(10) unsigned NOT NULL default '0',
`level` tinyint(1) unsigned NOT NULL default '0',
`title` varchar(100) NOT NULL default '',
`style` varchar(50) NOT NULL default '',
`fee` float NOT NULL default '0',
`award` decimal(10,2) unsigned NOT NULL default '0.00',
`keyword` varchar(255) NOT NULL default '',
`pptword` varchar(255) NOT NULL default '',
`hits` int(10) unsigned NOT NULL default '0',
`likes` int(10) unsigned NOT NULL default '0',
`hates` int(10) unsigned NOT NULL default '0',
`favorites` int(10) unsigned NOT NULL default '0',
`awards` int(10) unsigned NOT NULL default '0',
`shares` int(10) unsigned NOT NULL default '0',
`reports` int(10) unsigned NOT NULL default '0',
`comments` int(10) unsigned NOT NULL default '0',
`messages` int(10) unsigned NOT NULL default '0',
`thumb` varchar(255) NOT NULL default '',
`thumb1` varchar(255) NOT NULL default '',
`thumb2` varchar(255) NOT NULL default '',
`thumbs` text NOT NULL,
`video` varchar(255) NOT NULL,
`username` varchar(30) NOT NULL default '',
`groupid` smallint(4) unsigned NOT NULL default '0',
`addtime` int(10) unsigned NOT NULL default '0',
`adddate` date NOT NULL default '0000-00-00',
`totime` int(10) unsigned NOT NULL default '0',
`areaid` int(10) unsigned NOT NULL default '0',
`company` varchar(100) NOT NULL default '',
`vip` smallint(2) unsigned NOT NULL default '0',
`validated` tinyint(1) unsigned NOT NULL default '0',
`truename` varchar(30) NOT NULL default '',
`telephone` varchar(50) NOT NULL default '',
`fax` varchar(50) NOT NULL default '',
`mobile` varchar(50) NOT NULL default '',
`address` varchar(255) NOT NULL default '',
`email` varchar(50) NOT NULL default '',
`qq` varchar(20) NOT NULL default '',
`wx` varchar(50) NOT NULL default '',
`ali` varchar(30) NOT NULL default '',
`skype` varchar(30) NOT NULL default '',
`introduce` varchar(255) NOT NULL default '',
`n1` varchar(100) NOT NULL,
`n2` varchar(100) NOT NULL,
`n3` varchar(100) NOT NULL,
`v1` varchar(100) NOT NULL,
`v2` varchar(100) NOT NULL,
`v3` varchar(100) NOT NULL,
`editor` varchar(30) NOT NULL default '',
`edittime` int(10) unsigned NOT NULL default '0',
`editdate` date NOT NULL default '0000-00-00',
`ip` varchar(50) NOT NULL default '',
`template` varchar(30) NOT NULL default '0',
`status` tinyint(1) NOT NULL default '0',
`listorder` smallint(4) unsigned NOT NULL default '0',
`islink` tinyint(1) unsigned NOT NULL default '0',
`linkurl` varchar(255) NOT NULL default '',
`filepath` varchar(255) NOT NULL default '',
`note` varchar(255) NOT NULL default '',
PRIMARY KEY(`itemid`),
KEY `username` (`username`),
KEY `edittime` (`edittime`),
KEY `catid` (`catid`),
KEY `areaid` (`areaid`),
KEY `editdate` (`editdate`,`vip`,`edittime`)
) TYPE=MyISAM COMMENT='车源';

DROP TABLE IF EXISTS `destoon_car_data_24`;
CREATE TABLE `destoon_car_data_24` (
`itemid` bigint(20) unsigned NOT NULL default '0',
`content` mediumtext NOT NULL,
PRIMARY KEY(`itemid`)
) TYPE=MyISAM COMMENT='<font color="#ff0000">车源内容</font>';
至此,已配置完毕新的模型,基于此模型创建模块的一切数据和配置准备就绪:模型基本配置【config.inc.php】、模块设置模版【module-24.php】、数据库创建脚本【car.sql】、安装程序【install.inc.php、remkdir.inc.php】和 后台模块管理菜单【menu.inc.php】。下面可以新建模块了。

在模块管理中,新建继承 car 模型的模块,如新建了一个叫 车源 的模块,模块目录为 car。

模块创建成功后,系统会创建 car 前台文件夹,里面有 config.inc.php 等前台代码文件,同时,car 模型的安装程序会设置模块配置到 file/cache/module-xxx.php,并同步 destoon_setting 数据表,执行数据表创建脚本,新建此模块所需的所有表结构,安装完毕。

虽然基于新模型的模块安装完毕了,但是后台管理和前台功能都还没有,所以下面就要进入先开发后台功能,再开发前台功能的过程了:

例如:

在 module/car/admin 下新建 index.inc.php,它是 car 模块后台功能的入口文件,在此文件中,编写后台逻辑代码,后台模版放在 module/car/admin/template 下。

在 module/car 下,一般要新建如 common.inc.php、global.func.php、car.class.php 的代码文件,以实现前后台统一的数据配置和业务逻辑代码的复用。

最后,基于此模块框架,完成后台和前台功能的开发。
https://www.zszx.top/static/image/hrline/1.gif
新建模块公司页增加相应菜单1目录lang -zh-cn-- -    homepage.inc.php文件增加相应模块名称及目录
后台会员组公司设置菜单显示
$HMENU = $DMENU = array('公司介绍', '增加的模块名称', '供应产品', '采购清单', '新闻中心', '荣誉资质', '人才招聘', '联系方式', '公司相册', '招商代理','品牌展示', '公司视频', '友情链接', '商城', '诚信档案');
$MFILE = array('introduce','增加模模块目录', 'sell', 'buy', 'news', 'honor', 'job', 'contact', 'photo', 'info', 'brand', 'video', 'link','mall','credit','homepage');https://www.zszx.top/static/image/hrline/1.gif
前台会员商铺设置显示
module/member/home.inc.php
$_menu_show = '1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1';
                        }
                        $_menu_order = '0,10,20,30,40,50,60,70,80,90,100,110,120,130,230,240,250,260';//排列
                        $_menu_num = '1,16,30,30,10,30,1,12,12,12,12,30,12,1,30,30,30,30';//分页https://www.zszx.top/static/image/hrline/1.gif商铺首页右侧显示模块
module/member/home.inc.php
$main_f
大约119行
$_main_show = '1,1,1,1,1,1,1,0,0,0,0';
                        }
                        $_main_order = '0,10,20,30,40,50,60,70,80,90,100,';
                        $_main_num = '10,1,10,10,10,10,10,5,3,4,4,5';
https://www.zszx.top/static/image/hrline/1.gif
商铺首页左侧显示模块
module/member/home.inc.php
$side_f
大约99行
$_side_show = '1,1,1,0,1,0,1';
                        }
                        $_side_order = '0,10,20,30,40,50,60';
                        $_side_num = '1,5,10,1,1,5,5';

https://www.zszx.top/static/image/hrline/1.gif
商铺菜单首页显示
module/member/home.inc.php

$_menu_show = '1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1';
}
$_menu_order = '0,10,20,30,40,50,60,70,80,90,100,110,120,130,230,240,250,260';
$_menu_num = '1,16,30,30,10,30,1,12,12,12,12,30,12,1,30,30,30,30';
$_menu_file = implode(',' , $MFILE);
$_menu_name = implode(',' , $HMENU);https://www.zszx.top/static/image/hrline/1.gif
商铺模版显示
module/company下建立模块名称文件如:buy.inc.php 更改里面内容
$moduleid = 5;//模块ID
$module = 'sell';//模块名称
$table = $DT_PRE.'sell_'.$moduleid;//数据表
$table_data = $DTPRE.'sell_data_'.$moduleid;//数据表

include template('sell', $template);//模版
https://www.zszx.top/static/image/hrline/1.gif
在模版文件
homepage下建立对应模块名称的模版如:buy.htm和main_buy.htm
https://www.zszx.top/static/image/hrline/1.gif
在跟目
company下建立相应的模块名称文件夹并在内建了index.php文件【可仿照官方文件,并更换 $file = 'buy';】红字为模块名称







      $_menu_show = '1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1';

                        }
                        $_menu_order = '0,10,20,30,40,50,60,70,80,90,100,110,120,130,230,240,250,260';
                        $_menu_num = '1,16,30,30,10,30,1,12,12,12,12,30,12,1,30,30,30,30';






页: [1]
查看完整版本: Destoon 新建自定义官方模块