線上書籍

Home

XOOPS 模組開發

一、 模組區塊(Blocks)設定 //區塊主要程式的檔名。區塊程式一律放在「模組目錄/blocks」下: $modversion['blocks'][1]['file'] = "list_honor.php"; //區塊的預設名稱: $modversion['blocks'][1]['name'] = '最新榮譽榜'; //區塊的說明: $modversion['blocks'][1]['description'] = '最新榮譽榜'; //放在區塊主要程式中的執行函數名稱: $modversion['blocks'][1]['show_func'] = "list_honor"; //區塊樣板,其位置為「模組目錄/templates/blocks」: $modversion['blocks'][1]['template'] = "list_honor.html"; //區塊編輯功能,放在區塊主要程式中的編輯函數名稱: $modversion['blocks'][1]['edit_func'] = "edit_list_honor"; //設定預設值,有區塊編輯功能才需要設定。若是區塊的設定欄位有一個以上,那麼,其預設值請以「|」隔開: $modversion['blocks'][1]['options'] = "5"; 二、 建立區塊檔案
  1. 在blocks目錄下依據$modversion['blocks'][1]['file']的設定值來建立檔案,如:list _honor.php,裡面至少要有一個主函數。主函數的名稱必須和xoops_version.php中 的$modversion['blocks'][1]['show_func']設定值一樣。
  2. 其中若有連結,需注意必須使用「絕對位置」,網址常數:XOOPS_URL
  3. 主函數的目的僅在於從資料庫抓出資料,送到區塊樣板中。
  4. 若執行錯誤,不建議用redirect_header轉向,直接die()或忽略之。
  5. 將最後內容結果return即可,可以是陣列,也可以是單一值,變數名稱不拘。
三、 建立區塊樣版檔
  1. 在templates/blocks依照xoops_version.php中$modversion['blocks'][1] ['template']的值來建立樣板檔案,如: list_honor.html
  2. 區塊的樣版檔一律收到樣板標籤<{$block}>,不管顯示函數傳回的變數名稱為何。
  3. 樣板中完整連結,如:<{$xoops_url}>/modules/tad_honor/view.php?honor_sn=<{$honor.honor_sn}>
  4. 接著更新一下模組,就可以開始使用區塊了!
四、 加入區塊編輯介面函數
  1. 我們在原先的區塊程式 list_honor.php 加入一個區塊編輯介面函數。目的是產生區塊設定介面,名稱必須和$modversion['blocks'][1]['edit_func']一致。
  2. 編輯介面函數其實就是一個網頁表單而已,只不過不需要<form></form>。
  3. 表單欄位的預設值即為xoops_version.php中的$modversion['blocks'][1] ['options']設定值。預設值的傳遞及使用均透過$options陣列。
五、 修改顯示函數
  1. 區塊顯示還數若要使用區塊的設定值,可以直接引入$options參數
  2. xoops_version.php中的$modversion['blocks'][1]['options']的設定值,根據「|」拆開後,第一個值就是$options[0],第二個值就是$options[1]依此類推。
  3. 請將$options[0]、$options[1]套用到該用的地方。
  4. 更新模組,編輯區塊,即可看到效果。