Jollen 網路學院
|| Jollen 的 Embedded Linux 訓練方案 | Jollen 的 Embedded Linux 系列著作 ||
□ Jollen網路學院 >> PHP 書本相關問題與勘誤 □

主題說明: Warning: Invalid content of \{\} in class.FastTemplate.php3...?!
更新日期: 04/05/2001
適用書籍: All

內文:

許多讀者在用了 FastTemplate 之後出現類似這樣的錯誤訊息或是其它奇怪的錯誤:

Warning: Invalid content of \{\} in class.FastTemplate.php3 on line 213

也有時候會出現一堆奇怪的字元、小數點等。據悉應該是版本的問題所造成的,建議有這個問題的讀者更新 PHP 至 4.0.2 以上,並換上 Jollen 修改過的 FastTemplate 版本。

下載:FastTemplate 1.1.0 (Jollen 修改版, 請另存新檔!)

這麼一來應該可以解決大家的問題了。同時這個版本 Jollen 做了兩個修改,而且用了一陣子了,好用喔!

1. prase() 新增 output to file

將 $tpl->FastPrint("BODY") 改成如 $tpl->FastPrint("BODY", "index.html") 可以將樣板存成檔案 index.html。

2. 新增 append to head (原來只有 append to rear)

分析動態樣板時,將 $tpl->parse(ROWS, ".row") 改成如 $tpl->parse(ROWS, ":row") 可以將內文區塊加到動態樣板的開頭,原本 FastTemplate 會將內容一直附加到動態樣板區塊的後面,因為 Jollen 有這個需要,所以改用 ':' 可以將新內容一直加到動態樣板的前面。

如果您還是有上述問題,請檢查程式是否有誤。底下是樣板化設計部份的參考範例程式碼,詳細內容請翻閱 F8523 「PHP4 網站實作」(89, 旗標) 一書。

程式:

include("/home/httpd/html/FastTemplate/class.FastTemplate.php3");

//產生 FastTemplate 物件,指定樣板「目錄」
$tpl = new FastTemplate("/home/httpd/html/board/templates");

//定義 Template 名稱 (檔名) & 動態樣板名稱
$tpl->define(array(main => "showpost.tpl"));
$tpl->define_dynamic("row", "main");

while (...) {

   $tpl->assign(MESSAGE, $message);
   $tpl->assign(EMOTION, $emotion_pic);

   //分析動態樣板區塊
   $tpl->parse(ROWS, ".row");
}

$tpl->parse(BODY, "main");
$tpl->FastPrint("BODY");

樣板 (含動態樣板區塊) 範例:

<!-- NAME: showpost.tpl -->
<!-- BEGIN DYNAMIC BLOCK: row -->
<table border="1" cellPadding="1" cellSpacing="1" width="98%">
<tr>
  <td align="right" bgcolor="#ddf0ff" width="20%"><font size="+0">文章主題:</font></td>
  <td bgcolor="#ffffff" width="80%">SUBJECT</td>
</tr>
<tr>
  <td align="right" bgColor="#ddf0ff" noWrap><font size="+0">發表時間:</font></td>
  <td bgColor="#ffffff">POSTDATE</td>
</tr>
<tr>
  <td align="right" bgColor="#ddf0ff" noWrap vAlign="top"><font size="+0">發表內容:<br>
  EMOTION</font></td>
  <td bgColor="#ffffff" vAlign="top">MESSAGE</td>
</tr>
</table>
<br>
<!-- END DYNAMIC BLOCK: row -->
<!-- END: showpost.tpl -->

紅色是動態樣板定義方法,藍色是樣板變數。

回首頁 |  TOP |
    Copyright (c) 2006 www.jollen.org
All rights reserved. 更新日期: 2006/04/11