6-2
修改前台流程
- 我們希望,一進到模組首頁,看到的就是活動列表,但如果有傳入活動編號$action_id,那麼就顯示單一活動,我們先看看傳入變數的過濾(這是官方用法,常用類型有string、int、array):
/*-----------執行動作判斷區----------*/
include_once $GLOBALS['xoops']->path('/modules/system/include/functions.php');
$op = system_CleanVars($_REQUEST, 'op', '', 'string');
$action_id = system_CleanVars($_REQUEST, 'action_id', 0, 'int');
- 流程部份改為這樣:
try
{
switch ($op) {
default:
if ($action_id) {
show_action($action_id);
$op = "show_action";
} else {
list_action();
$op = "list_action";
}
break;
}
} catch (exception $e) {
redirect_header($_SERVER['PHP_SELF'], 3, $e->getMessage());
}
/*-----------秀出結果區--------------*/
$xoopsTpl->assign('op', $op);
include_once XOOPS_ROOT_PATH . '/footer.php';
-
由於 default 時是沒有 $op(用來告訴程式現在要做什麼的),所以,我們自行定義一個 $op 值,目的是希望也可以把目前的動作傳給樣板,讓樣板也可以根據 $op 的不同,呈現不同內容。
-
接著,我們預留兩個空函數,避免執行錯誤。
//顯示單一活動
function show_action($action_id)
{
global $xoopsTpl;
$main = "";
$xoopsTpl->assign('content', $main);
}
//顯示活動列表
function list_action()
{
global $xoopsTpl;
$main = "";
$xoopsTpl->assign('content', $main);
}