8.
前台檔案結構
一、 前台結構
- 前台的結構如下:
<?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,如此,前後臺便可共用函數。