DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> WEB網站前端 >> 關於網頁技巧 >> Discuz! 論壇如何添加配置選項
Discuz! 論壇如何添加配置選項
編輯:關於網頁技巧     
Discuz! 論壇在後台有很多配置選項,通過這些配置選項可以實現很多功能。在 Discuz!論壇的二次開發過程中,我們也同樣要經常添加一些配置,然後根據配置來進行不同的操作。下面我就來介紹一下如何在 Discuz! 論壇中添加配置選項。

我們以 Discuz!6.0 為例。首先我們來看一下 Discuz! 論壇後台的配置界面,以管理員身份登錄論壇後台,依次選擇‘基本設置’ -> ‘基本設置’後會出現以下的界面:

圖1



這個頁面用了框架,我們在右下方的頁面中點擊右鍵選擇‘屬性’,在彈出的窗口中,我們發現這個頁面的 URL 是 '/admincp.php?action=settings&do=basic' ,這個頁面用的程序是admincp.php ,先來分析一下這個文件。
這個文件的第 172-290 行大致的內容如下:

代碼如下:
     $cpscript = '';
    if($adminid == 1) {
        if($action == 'home') {
            $cpscript = 'home';
        } elseif($action == 'runwizard' && isfounder()) {
            $cpscript = 'runwizard';
        } elseif ……
    } elseif($adminid == 2 || $adminid == 3) {
        if($action == 'home') {
            $cpscript = 'home';
        } elseif((($allowedituser || $allowbanuser) && ($action == 'editmember' || $action == 'banmember'))           || ($allowbanip && $action == 'ipban')) {
            $cpscript = 'members';
        } elseif……
    }
    if($cpscript) {
         } elseif……
    }
    if($cpscript) {
        require_once DISCUZ_ROOT.'./admin/'.$cpscript.'.inc.php';
    } ……

這段程序主要就是根據 $action 變量來給 $cpscript 賦值,然後根據 $cpscript 的值來引入 admin 目錄下的程序文件。我們注意一下 179 行左側的 $action 值的判斷,會發現其$cpscript 的值是 'settings' ,那就是說 283 行引入的程序文件是 'admin/settings.inc.php' 。
然後打開 settings.inc.php 文件,會發現裡面的內容好長呀,不要被這給嚇壞了,仔細分析一下就好了。

第 14 行:
代碼如下:
$operation = $operation ? $operation : (!empty($do) ? $do : '');
這裡會根據 GET 過來的 $do 值來給 $operation 賦值,這個例子中其值是 'basic' 。
第 17 行:
代碼如下:
$query = $db->query("SELECT * FROM {$tablepre}settings");
while($setting = $db->fetch_array($query)) {
    $settings[$setting['variable']] = $setting['value'];
}
這些程序段是從數據庫把數據讀出來存到數組 $settings 中以便下面調用。
下面的程序結構如下:
代碼如下:
if(!submitcheck('settingsubmit')) {
    if($operation == 'access') {
    ……
} elseif($operation == 'styles') {
    ……
} elseif ……
} else {
  &n

123下一頁
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved