destoon 新建一個新模組
用destoon 作為二次開發的小夥伴,可能會遇到destoon的模組不夠用的情況,於是想自己自定義新建一個新模組,下面就讓我新建一個模組:
我們一文章(article)模組為例新建一個rename模組:
1、在module模組下複製一個article資料夾,重名為rename,找到rename\admin\config.inc.php 檔案,開啟後修改文字內容,將其檔案下的所有“文章”替換為“新模組”
<?php
defined('DT_ADMIN') or exit('Access Denied');
$MCFG['module'] = 'article'; //修改為rename
$MCFG['name'] = '新模組
$MCFG['author'] = 'DESTOON.COM';
$MCFG['homepage'] = 'www.destoon.com';
$MCFG['copy'] = true;//修改為false
$MCFG['uninstall'] = true;
$MCFG['moduleid'] = 0;//修改為100
$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;
?>
2、在同目錄下的html.inc.php檔案大概65~70行,將所有的“article”全部替換為“rename”
if($update) {
require MD_ROOT.'/article.class.php';//修改為“rename”
$do = new article($moduleid);//修改為“rename”
}
3、在同目錄下的index.inc.php檔案大概在3行,將所有的“article”全部替換為“rename”
defined('DT_ADMIN') or exit('Access Denied');
require MD_ROOT.'/rename.class.php';
$do = new rename($moduleid);
4、在moudle檔案下找到 rename\article.class.php,並將所有的article全部替換為“rename”,而且還要將article.class.php檔案重新命名為rename.class.php
5、在moudle檔案下找到 rename\my.inc.php,並將所有的article全部替換為“rename”。
6、在模板檔案中複製brand資料夾(預設在template\brand),使其重新命名為rename,然後在template\member資料夾中找到my_article.php,複製貼上,使其重命為my_rename.php。
7、在根目錄下找到一個lang\zh-ch\article.inc.php,複製貼上一份使其重新命名為rename.inc.php(語言包)
8、登入後臺--》系統維護》模組管理》新增模組
模組目錄填寫“新模組”,所屬模型:下來選擇我們自定義的“新模組”,安裝目錄就寫"rename",點選確定後更新快取。
9、複製destoon_article_21和的destoon_article_data_21資料表並重名為destoon_rename_100,destoon_rename_data_100,
10、增加了新的模組後,如果使用tag的標籤來呼叫,會出現呼叫的表格不對的情況,所以要在global.func.php中加入新的模組
- function get_table($moduleid, $data = 0) {
- global$DT_PRE, $MODULE;
- $module = $MODULE[$moduleid]['module'];
- $C = array('article', 'brand', 'buy', 'down', 'info', 'photo', 'sell', 'video','rename','xxxxxx','xxxxx');
- if($data) {
- return in_array($module, $C) ? $DT_PRE.$module.'_data_'.$moduleid : $DT_PRE.$module.'_data';
- } else {
- return in_array($module, $C) ? $DT_PRE.$module.'_'.$moduleid : $DT_PRE.$module;
- }
- }