建立一個簡單的模組:使用樣板

日期 2010年08月16日 22:01:02 | 新聞類別: 模組開發

原始出處 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 程式碼中,而我們想把呈現與程式運算分開,所以讓我們再看下一個文件。





本篇新聞來自:XOOPS Site
https://www.xoops.org.tw

本篇新聞的連結網址是:
https://www.xoops.org.tw/modules/news/article.php?storyid=42