原始出處 http://www.xoops.org/modules/mediawiki/index.php/Making_a_simple_module:_Using_a_simple_template
在前一個範例中我們使用echo 輸出字串到螢幕。如果只是個小網站這樣的方法是還可以,但是使用樣版將會讓輸出畫面更融合整個網站的佈景呈現。現在我將使用樣版輸出上個範例中的字串,但是請記住這樣仍然是一個"不對"的方式,因為HTML 程式碼仍然與PHP 程式碼混在一起。樣版不是一個完整的HTML 檔案。這個檔案只是個你想在模組中用何種方式呈現的HTML 程式碼檔案,且這個檔案不包括<head> 或<body> 標籤。
跟著以下的步驟使用一個簡單的樣版輸出表格:
1.在模組內建立一個templates 的目錄並在這個目錄下新增檔案"myTemplate.html" 且內容如下:
<{$content}></div><{$content}>
2.編輯xoops_version.php 新增:
$modversion['templates'][1]['file'] = "myTemplate.html";
$modversion['templates'][1]['description'] = "Our template file";
3.編輯index.php 使用樣版,並將結果指定給樣版而不是使用echo 輸出:
<?php //index.php
require_once("../../mainfile.php");
include_once "include/functions.php";
global $xoopsTpl;
// this line must be defined BEFORE header.php
$xoopsOption['template_main'] = "myTemplate.html";
include XOOPS_ROOT_PATH."/header.php";
$str = getTable();
$xoopsTpl->assign("content", $str);
include XOOPS_ROOT_PATH."/footer.php";
?>
範例中可以看到我們將字串指定給全域的Xoops 物件 xoopsTpl 的"content" 變數。這個變數值會取代樣版中的<{$content}>。
如果我們的模組有很多頁面、想更改php 運算邏輯、或輸出畫面是動態產生的話這種方法是可行的。但是大部分的HTML 程式碼依然是混在PHP 程式碼中,而我們想把呈現與程式運算分開,所以讓我們再看下一個文件。
|