:::

6-2 修改前台流程

  1. 我們希望,一進到模組首頁,看到的就是活動列表,但如果有傳入活動編號$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');
  2. 流程部份改為這樣:
    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';
  3. 由於 default 時是沒有 $op(用來告訴程式現在要做什麼的),所以,我們自行定義一個 $op 值,目的是希望也可以把目前的動作傳給樣板,讓樣板也可以根據 $op 的不同,呈現不同內容。

  4. 接著,我們預留兩個空函數,避免執行錯誤。

    //顯示單一活動
    function show_action($action_id)
    {
        global $xoopsTpl;
    
        $main = "";
        $xoopsTpl->assign('content', $main);
    }
    
    //顯示活動列表
    function list_action()
    {
        global $xoopsTpl;
    
        $main = "";
        $xoopsTpl->assign('content', $main);
    }
    

     


:::

書籍目錄

展開 | 闔起

快速登入


https%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbdsn%3D879%26tbsn%3D29

計數器

今天: 3721372137213721
昨天: 2489248924892489
總計: 8025703802570380257038025703802570380257038025703