線上書籍

Home

XOOPS 模組開發

一、 XOOPS的模組管理後台
  1. XOOPS並沒有規定一定要有管理後台,若是沒有管理後台,只要在xoops_version.php中把$modversion['hasAdmin']設為0即可。
  2. $modversion['adminindex'] = 'admin/index.php'; 這是定義當使用者點選模組管理時,要連到的後台預設頁面。
  3. $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";
  1. 每多一個功能選項,請多一組以下設定,有中文的地方盡量用常數(直打中文也行,只是這樣只有相同編碼的網站才能使用)。
  2. 其中路徑部份是以該模組目錄為基準。
  3. 其中desc和icon都是新架構才有的東西,圖片大小一律為32x32。
  4. 圖示可以到這裡找: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檔尾 ?>
  1. 後台檔案最基本架構如下,前後兩行是必備的其他部份則是建議使用的架構。
四、套用樣板檔
  1. admin/main.php 中的 $xoopsOption['template_main'] 請設定一個網頁樣板檔: //使用樣板檔 $xoopsOption['template_main'] = "tad_honor_adm_main.html";
  2. xoops_version.php 要加入一個樣板設定,這樣 XOOPS 才知道要載入您的樣板檔: $modversion['templates'][$i]['file'] = 'tad_honor_adm_main.html'; $modversion['templates'][$i]['description'] = 'tad_honor_adm_main.html';
  3. 實際去生出 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>
  4. 更新模組,以便讓XOOPS重讀xoops_version.php,以便載入 tad_honor_adm_main.html 樣板檔。
四、將自己設定的樣板標籤套用到樣板檔中
  1. XOOPS的樣板物件為 $xoopsTpl
  2. 套用樣板標籤到樣板檔的方法為(寫在 php 檔中): //利用 global 讓 $xoopsTpl 可以在函數中使用 global $xoopsTpl; //$xoopsTpl->assign("樣板標籤" , "欲呈現的內容"); $xoopsTpl->assign('temp_title' , '榮譽榜編輯表單');
  3. 樣板檔中的寫法: <h1><{$temp_title}></h1>