知识学习

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3502|回复: 0

Destoon 新建自定义官方模块

[复制链接]

升级   100%

152

主题

0

回帖

752

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
752
发表于 2021-4-3 00:37:11 | 显示全部楼层 |阅读模式
  • 先在 module 目录下,新建模型目录

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

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

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

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

  21. $CT = true;
  22. ?>
复制代码
1.2.7  module \ 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 的代码文件,以实现前后台统一的数据配置和业务逻辑代码的复用。

最后,基于此模块框架,完成后台和前台功能的开发。

新建模块公司页增加相应菜单1目录lang -  zh-cn  -- -    homepage.inc.php文件增加相应模块名称及目录
  后台会员组公司设置菜单显示
  1. $HMENU = $DMENU = array('公司介绍', '增加的模块名称', '供应产品', '采购清单', '新闻中心', '荣誉资质', '人才招聘', '联系方式', '公司相册', '招商代理','品牌展示', '公司视频', '友情链接', '商城', '诚信档案');
  2. $MFILE = array('introduce','增加模模块目录', 'sell', 'buy', 'news', 'honor', 'job', 'contact', 'photo', 'info', 'brand', 'video', 'link','mall','credit','homepage');
复制代码

前台会员商铺设置显示
module/member/home.inc.php
  1. $_menu_show = '1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1';
  2.                         }
  3.                         $_menu_order = '0,10,20,30,40,50,60,70,80,90,100,110,120,130,230,240,250,260';//排列
  4.                         $_menu_num = '1,16,30,30,10,30,1,12,12,12,12,30,12,1,30,30,30,30';//分页
复制代码
商铺首页右侧显示模块
module/member/home.inc.php
$main_f
大约119行
  1. $_main_show = '1,1,1,1,1,1,1,0,0,0,0';
  2.                         }
  3.                         $_main_order = '0,10,20,30,40,50,60,70,80,90,100,';
  4.                         $_main_num = '10,1,10,10,10,10,10,5,3,4,4,5';
复制代码


商铺首页左侧显示模块
module/member/home.inc.php
$side_f
大约99行
  1. $_side_show = '1,1,1,0,1,0,1';
  2.                         }
  3.                         $_side_order = '0,10,20,30,40,50,60';
  4.                         $_side_num = '1,5,10,1,1,5,5';
复制代码



商铺菜单首页显示
module/member/home.inc.php

  1. $_menu_show = '1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1';
  2. }
  3. $_menu_order = '0,10,20,30,40,50,60,70,80,90,100,110,120,130,230,240,250,260';
  4. $_menu_num = '1,16,30,30,10,30,1,12,12,12,12,30,12,1,30,30,30,30';
  5. $_menu_file = implode(',' , $MFILE);
  6. $_menu_name = implode(',' , $HMENU);
复制代码

商铺模版显示
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);//模版

在模版文件
homepage下建立对应模块名称的模版如:buy.htm和main_buy.htm

在跟目
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';






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|知识学习 ( 鲁ICP备20015483号 )

GMT+8, 2026-5-13 21:59 , Processed in 0.076477 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表