在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,到這裡會員就可以使用新模塊了。