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