3.
模組管理後台結構
一、 XOOPS的模組管理後台
- XOOPS並沒有規定一定要有管理後台,若是沒有管理後台,只要在xoops_version.php中把$modversion['hasAdmin']設為0即可。
- $modversion['adminindex'] = 'admin/index.php'; 這是定義當使用者點選模組管理時,要連到的後台預設頁面。
- $modversion['adminmenu'] = 'admin/menu.php'; 這是定義後台模組管理界面的其他功能選單。
二、 模組管理後台選單檔
$i++;
$adminmenu[$i]['title'] = _MI_TH_ADMENU1;
$adminmenu[$i]['link'] = "admin/main.php";
$adminmenu[$i]['desc'] = _MI_TH_ADMENU1_DESC ;
$adminmenu[$i]['icon'] = "images/admin/main.png";
- 每多一個功能選項,請多一組以下設定,有中文的地方盡量用常數(直打中文也行,只是這樣只有相同編碼的網站才能使用)。
- 其中路徑部份是以該模組目錄為基準。
- 其中desc和icon都是新架構才有的東西,圖片大小一律為32x32。
- 圖示可以到這裡找:http://findicons.com
三、 模組管理後台架構
<?php
/*
main.php 是模組後台的主要內容頁面(入口)。
但並不一定要叫做 main.php ,您愛命名為什麼都行,只要 menu.php 設定好就好。
*/
/*------------------ 檔頭(引入檔案) ------------------*/
//使用樣板檔
$xoopsOption['template_main'] = "後台樣板檔.html";
//引入 XOOPS 後台檔案檔頭(必要)
include 'header.php';
//引入共同檔案設定檔(必要)
include_once "../function.php"; //引入自訂的共同函數檔
/*------------------ 流程判斷(告訴程式現在要做什麼) -----------------*/
//$op 為XOOPS常用之動作變數,用來告知程式欲執行之動作
$op=isset($_REQUEST['op'])?$_REQUEST['op']:"";
//判斷目前動作該執行哪一個
switch($op){
//當 $op 的值等於「動作1」時,欲執行的動作
case "動作1":
admin_do_something();
break;
//預設動作
default:
break;
}
/*------------------ 所有函數(實際執行動作) ------------------*/
//當 $op 的值等於「動作1」時,欲執行的函數
function admin_do_something(){
}
/*------------------ 檔尾(輸出內容到樣板) ------------------*/
include "footer.php"; //XOOPS檔尾
?>
- 後台檔案最基本架構如下,前後兩行是必備的其他部份則是建議使用的架構。
四、套用樣板檔
- admin/main.php 中的 $xoopsOption['template_main'] 請設定一個網頁樣板檔:
//使用樣板檔
$xoopsOption['template_main'] = "tad_honor_adm_main.html";
- xoops_version.php 要加入一個樣板設定,這樣 XOOPS 才知道要載入您的樣板檔:
$modversion['templates'][$i]['file'] = 'tad_honor_adm_main.html';
$modversion['templates'][$i]['description'] = 'tad_honor_adm_main.html';
- 實際去生出 tad_honor_adm_main.html ,樣板檔一律放在 templates 下:
<!--若要套用bootstrap,請載入以下這三行-->
<link rel="stylesheet" type="text/css" media="screen" href="<{$xoops_url}>/modules/tadtools/bootstrap/css/bootstrap.css" />
<link rel="stylesheet" type="text/css" media="screen" href="<{$xoops_url}>/modules/tadtools/bootstrap/css/bootstrap-responsive.css" />
<link rel="stylesheet" type="text/css" media="screen" href="<{$xoops_url}>/modules/tadtools/css/xoops_adm.css" />
<h1>校園榮譽榜管理</h1>
- 更新模組,以便讓XOOPS重讀xoops_version.php,以便載入 tad_honor_adm_main.html 樣板檔。
四、將自己設定的樣板標籤套用到樣板檔中
- XOOPS的樣板物件為 $xoopsTpl
- 套用樣板標籤到樣板檔的方法為(寫在 php 檔中):
//利用 global 讓 $xoopsTpl 可以在函數中使用
global $xoopsTpl;
//$xoopsTpl->assign("樣板標籤" , "欲呈現的內容");
$xoopsTpl->assign('temp_title' , '榮譽榜編輯表單');
- 樣板檔中的寫法:
<h1><{$temp_title}></h1>