Smarty模板主要的目的是分離邏輯層和表現層,所以在模板中不應該包含邏輯部分,邏輯層也不應該含有HTML。要在模板中插入邏輯程序的這種做法“非常”不被推薦,在你的case中。
如果你真正的需要在模板中使用腳本程序,smarty也提供了{php}標簽,允許programmer在表現層混入php代碼(再次提示:這種不利於邏輯層與表現層的分離,違背了程序與結構的分離)。看一看如何在模板中插入php代碼:
phpCode.tpl:
1. {php}
2. echo "There is php code in the template of smarty";
3. for($i=1 ; $i<=3; $i++){
4. echo "but it's better to avoid php code in your case!";
5. }
6. {/php}
phpCode.php
1. <?
2. include("libs/smarty.class.php");
3. $smarty = new smarty();
4. $smarty->display("phpCode.tpl")
5. ?>
效果圖:
摘自 沙漠的蝸牛80