XOOPS 模組開發
一、 前台結構
- 前台的結構如下: <?php /* index.php 是模組的預設首頁(入口)。 若前台還有需要別的檔案,可以直接複製此檔然後改名即可。 */ /*------------------ 檔頭(引入檔案) ------------------*/ //引入共同檔案設定檔及共同函數檔 function.php(必要) include "header.php"; //使用樣板檔 $xoopsOption['template_main'] = "前台樣板檔.html"; //引入XOOPS前台檔案檔頭(必要) include_once XOOPS_ROOT_PATH."/header.php"; /*------------------ 流程判斷(告訴程式現在要做什麼) -----------------*/ //$op 為XOOPS常用之動作變數,用來告知程式欲執行之動作 $op=isset($_REQUEST['op'])?$_REQUEST['op']:""; //判斷目前動作該執行哪一個 switch($op){ //當 $op 的值等於「動作1」時,欲執行的動作 case "動作1": do_something(); break; //預設動作 default: break; } /*------------------ 所有函數(實際執行動作) ------------------*/ //當 $op 的值等於「動作1」時,欲執行的函數 function do_something(){ } /*------------------ 檔尾(輸出內容到樣板) ------------------*/ //套用工具列的程式碼到樣板檔(toolbar_bootstrap()來自tadtools函式庫) $xoopsTpl->assign( "toolbar" , toolbar_bootstrap($interface_menu)) ; //套用 bootstrap 的引入語法到樣板檔(get_bootstrap()來自tadtools函式庫) $xoopsTpl->assign( "bootstrap" , get_bootstrap()) ; //套用 jquery 的引入語法到樣板檔(get_jquery()來自tadtools函式庫) $xoopsTpl->assign( "jquery" , get_jquery(true)) ; //將「是否為該模組管理員」的變數傳送到樣板檔($isAdmin來自header.php檔) $xoopsTpl->assign( "isAdmin" , $isAdmin) ; //引入XOOPS前台檔案檔尾(必要) include_once XOOPS_ROOT_PATH.'/footer.php'; ?>
- 一定要引入:include_once '../../mainfile.php'; (已包含在 header.php 中)
- 頁首:include_once XOOPS_ROOT_PATH."/header.php";
- 頁尾:include_once XOOPS_ROOT_PATH.'/footer.php';
- 其餘結構可比照後台頁面結構。
- 有前台時,記得到xoops_version.php去加入 $modversion['hasMain'] = 1;
- 若前台有好幾個子功能,可以在主選單中加入子選項:
- $modversion['sub'][1]['name'] = '子選項名稱';
- $modversion['sub'][1]['url'] = '連結位置';
- 前台樣板檔作法和後台沒兩樣,所以可以將後台樣板語法複製到前台,修改後(例如拿掉管理工具)使用。
- 也可以把抓取資料內容的部份做成共同函數放到 function.php,如此,前後臺便可共用函數。