:::

9. 新增區塊

  1. 我們打算加入「已報名名單」在側邊,因此,必須做成區塊形式。

一、 模組區塊(Blocks)設定

  1. 先在xoops_version.php中加入區塊設定,如:
    //---區塊設定---//
    $modversion['blocks']                    = array();
    $i                                       = 1;
    $modversion['blocks'][$i]['file']        = "list_signup.php";
    $modversion['blocks'][$i]['name']        = _MI_TAD_SIGNUP_LIST;
    $modversion['blocks'][$i]['description'] = _MI_TAD_SIGNUP_LIST_DESC;
    $modversion['blocks'][$i]['show_func']   = "list_signup";
    $modversion['blocks'][$i]['template']    = "list_signup.tpl";
    $modversion['blocks'][$i]['edit_func']   = "list_signup_edit";
    $modversion['blocks'][$i]['options']     = "1|1";
  2. 在blocks目錄下依據file 的設定值來建立檔案,如:blocks/list_signup.php,裡面至少要有一個主函數。
    <?php
    //區塊主函數:列出所報者
    function list_signup($options)
    {
    
    }
  3. 主函數的名稱必須和xoops_version.php中的show_func 設定值一樣,例如:list_signup。
  4. 主函數的目的僅在於從資料庫抓出資料,送到區塊樣板中,故需在template項目設定樣板名稱,樣板放在「templates/blocks」下,如:templates/blocks/list_signup.tpl。
  5. 編輯函數不一定要有,若想要在區塊中做設定值,可以設個edit_func
  6. 若設定中有用到語系,請記得加入 language/tchinese_utf8/modinfo.php 中,如:
    define("_MI_TAD_SIGNUP_LIST", "報名名單");
    define("_MI_TAD_SIGNUP_LIST_DESC", "報名名單");
    
  7. 有編輯函數就一定要有$options來設定預設值,請用「|」隔開預設值。
  8. 區塊中若有連結,需注意必須使用「絕對位置」,網址常數:XOOPS_URL,若是在樣板中則需用<{$xoops_url}>來做成絕對路徑
  9. 若執行錯誤,不建議用redirect_header轉向,直接die()或忽略之。
  10. 將最後內容結果return即可,可以是陣列,也可以是單一值,變數名稱不拘。

二、 建立區塊樣版檔

  1. 在templates/blocks依照xoops_version.php中 template 的值來建立樣板檔案,如:list_signup.tpl
  2. 區塊的樣版檔一律收到樣板標籤<{$block}>,不管顯示函數傳回的變數名稱為何。
    <{$block}>
  3. 樣板中完整連結,如:<{$xoops_url}>/modules/tad_ebook/index.php?ebook_sn=<{$ebook.honor_sn}>
  4. 接著更新一下模組,就可以開始使用區塊了!

三、 加入區塊編輯介面函數

  1. 我們在原先的區塊程式 blocks/list_signup.php  加入一個區塊編輯介面函數。目的是產生區塊設定介面,名稱必須和edit_func 一致。
    //區塊編輯函數
    function list_signup_edit($options)
    {
    
    }
    
  2. 編輯介面函數其實就是一個網頁表單而已,只不過不需要<form></form>。
  3. 表單欄位的預設值即為 xoops_version.php中的 options 設定值。預設值的傳遞及使用均透過 $options 陣列。

四、 修改顯示函數

  1. 區塊若要使用區塊的設定值,可以直接引入$options參數,如:$options[0]
  2. xoops_version.php中的options 設定值,根據「|」拆開後,第一個值就是$options[0],第二個值就是$options[1]依此類推。
  3. 請將$options[0]、$options[1]套用到該用的地方。
  4. 最後請記得更新模組,編輯區塊,即可看到效果。

:::

書籍目錄

展開 | 闔起

http%3A%2F%2Fcampus-xoops.tn.edu.tw%2Fmodules%2Ftad_book3%2Fpage.php%3Ftbsn%3D29%26tbdsn%3D897

計數器

今天: 1479147914791479
昨天: 3438343834383438
總計: 7391808739180873918087391808739180873918087391808