做網站,我們是認真的!

網站適配電腦+手機端,僅1280元,送2000M阿里云服務器,送com域名+免費備案
網站前端采用靜態系統顯示,后端動態管理,我們承諾網站包收錄,完成網站之后把源碼給客戶!

觀點

互聯網+時代,說建站,談運營與網絡營銷

詳細分析和修改織夢系統主頁(管理后臺首頁主體)

時間:2020-12-21

這里說的“系統主頁”指的是當我們進入后臺后,看到的界面,為了方便大家理解,這里截取一張織夢DEDECMS 系統主頁圖如下。

  今天我們就對這個界面用到的php源碼和模板進行分析,并對這個界面進行修改。簡明扼要的說概括今天的目標:

詳細分析和修改織夢系統主頁(管理后臺首頁主體)

  1.分析源碼;2.修改界面

  我們通過“如何查找織夢DEDECMS 模板”這個教程,打到系統主頁界面(接下來直接用界面指系統主頁界面)對應的php文件是:http://www.dedebase.com/dede/index_body.php,這個php文件,比較重要,因為他是這個界面的一個入口,所有你在這個界面看到的,能操作的都通過這個php文件來實現。

  我們來分析一下這個php文件,首頁打開文件,最前面的一塊,就是本文下面的這六行代碼,前三行是引入文件,第四、五行是動態定義以txt為后綴的文件,最后一行,是判斷第五行文件是不是存在,如果不存在就重新定義一個。
require(dirname(__FILE__).'/config.php');
require(DEDEINC.'/image.func.php');
require(DEDEINC.'/dedetag.class.php');
$defaultIcoFile = DEDEDATA.'/admin/quickmenu.txt';
$myIcoFile = DEDEDATA.'/admin/quickmenu-'.$cuserLogin->getUserID().'.txt';
if(!file_exists($myIcoFile)) $myIcoFile = $defaultIcoFile;

  接下來織夢給我們寫好了是“默認主頁”,也就是引入織夢模板,如下圖所示

詳細分析和修改織夢系統主頁(管理后臺首頁主體)
  織夢用了一個if語句來判斷引入哪個文件,一般織夢默認是引用templets/index_body.htm這個模板的,除非以move-開頭的txt文件存在,而這個文件一般不存在的,若存在就引入模板templets/index_body_move.htm,用方框框起來的是引入必要的php文件,初始化和判斷等,這里不作多解釋。

  現在我們知道了,這個管理后臺首頁主體界面模板,先暫時停止分析index_body.php這個文件,接下來我們分析這個php文件對應的模板文件,然后再接著分析index_body.php。我們打開index_body.htm模板文件,建立大家打開這個文件,那些引入的js,css這里暫不作分析,先看主要的,向下看,你會發現后臺界面最上方的“”,在這個模板文件里對應起來了,說明模板沒有找錯,織夢模板,一般是和對應的php文件名對應且一般都放在同一目錄里面的templets文件夾里面,如果你用織夢做模板多了,你就會發現這個特點。

  現在我們試著修改一下“”這一行字,看看效果。

  接下來向下看,我們看到<?php echo $cfg_soft_enname; ?> 更新消息,這與后臺界面上面的“DedeCMS更新消息”是不是一個東西呢?答案是肯定的,只不過在模板里面,DedeCMS 用<?php echo $cfg_soft_enname; ?>來代替了,為什么要代替呢?因為,<?php echo $cfg_soft_enname; ?>是動態變化的,也就是他代表了一個軟件名稱,你可以叫Dedecms,可以叫Bebecms,隨便起,所以,這里用了一段php代碼來動態顯示。

  這一塊里面的用了一段php代碼,如下圖4所示:

詳細分析和修改織夢系統主頁(管理后臺首頁主體)

  這段代碼在后臺界面對應下圖5所示:

詳細分析和修改織夢系統主頁(管理后臺首頁主體)

  商業授權查詢這段代碼,直接引入一個ifram框架,重點看一下index_body.php?dopost=showauth這個代碼,現在我們返回index_body.php文件,在文件最后找到一個判斷,else if ($dopost=='showauth')這個判斷就是當dopost=showauth時,調用模板文件templets/index_body_showauth.htm。這個index_body.php?dopost=showauth代碼里面的問號“?”的意思就是在index_body.php里面,調用當dopost=showauth時的內容。

  同理如果代碼變成index_body.php?dopost=showad 這樣,意思就是在index_body.php文件里,當dopost=showad時,調用模板templets/index_body_showad.htm。

  反回模板index_body.htm文件接著向下看,你會發現,后臺對應的“快捷操作”版塊,這一塊有二個功能“新增”和“管理”功能,大家可以增加和管理一下試一下,新增通過一個javalscript 鼠標點擊事件,調用AddNew()函數,這個函數在index_body.php文件里面從“增加新項”一直到“載入右邊內容”結束,這段代碼就是用來實現“新增”功能的。  

  另一個函數ListAll(),這個是一個javalscript函數,這個函數在js/indexbody.js文件里面,js代碼如下:
function ListAll(){
    $DE('editTab').style.display = 'block';
    var myajax = new DedeAjax($DE('editTabBody'));
    myajax.SendGet('index_body.php?dopost=editshow');
}

  不要看這一小段代碼,用到的技術非常多,其中ajax綜合技術,這里不多講,這個函數的意思是發送index_body.php?dopost=editshow請求,到這里實際上和函數AddNew()遠行就完全相同了。當dopost=editshow時,在index_body.php里執行“修改快捷操作”。

  再向下看,就是“系統基本信息”這一塊了,這一塊沒有什么好說的,都比較容易理解,其中里面的javascript:showMore(),用到了頭部定義的js代碼,在最上面。

  下面的“程序團隊”版塊,也比較簡單,就是幾個固定的內容。

  下面是贊助商廣告版塊,這個我們一般直接刪掉,因為,后臺在加載的時候,這個要占用服務器資源,一般情況我們都刪掉。刪也比較好刪,上面的織夢都給我們標好了,到哪里結束。

  下面的“統計信息”用的是js知識,動態生成的。

  最新文檔這個版塊,用了一大段的代碼,直接用select 查詢數據庫,然后用foreach把數組里面的數據循環出來,這樣的php代碼一般都在php文件里,在模板里特別是在前臺模板都沒有出現過,一般在后臺模板里會出現這樣的php代碼

。
  總結:這個界面主要是在模板index_body.htm里改,如果您想詳細了解這個模板里面的功能的話,那么,最主要的就用到index_body.php代碼了,要分析這里面的代碼要相當的php知識,由于我們的織夢dedecms 教程主要是模板或界面修改,所以,基本上都是大體解釋一下,本教程中還提到javalscript,ajax等相關知識,特別是ajax是一門綜合性技術,以后我們會詳細講解。
0
首頁
案例
關于
聯系
凯时平台