網頁前端設計與開發運用培訓班
一、常用功能
- Smarty註解
{* 註解 *} - Smarty變數
傳送內容 PHP檔(*.php) Smarty樣板檔(*.tpl) 一般變數 $name="ugm"; $smarty->assign('name', $name); {$name} 一維陣列 $user['name']="ugm"; $user['birthday']="1969-11-25"; $smarty->assign('user', $user); {$user.name} 的生日是 {$user.birthday} 二維陣列 $users[1]['name']="ugm"; $users[1]['birthday']="1969-11-25"; $users[2]['name']="adam"; $users[2]['birthday']="2000-07-06"; $smarty->assign('users', $users); {foreach $users as $user} {$user.name} 的生日是{$user.birthday} {/foreach} 或 {$user.1.name} 的生日是 {$user.1.birthday} {$user.2.name} 的生日是 {$user.2.birthday} - Smarty陣列
- Smarty物件
class user{
public $name = "Ugm";
public function sex(){
return "先生";
}
}
$user = new user;
$smarty->assign('user',$user);
{$user->name}{$user->sex()}您好!
輸出結果:「Ugm先生您好!」
- 在樣板中,可以直接用 $samrty.get 來取得所有 $_GET 的變數陣列,同理若要在樣板中取得 $_SESSION,那就是用 $smarty.session
- 變數送至樣板檔:$smarty->assign('樣板標籤名稱', $變數值);
- 樣板檔一律放至 templates 目錄中
- 刪除快取:$smarty->clearAllCache();
- 在樣板中,Smarty 也可以直接拿PHP的函數來用,我們稱之為「變數修飾器」,例如:
{if $變數|in_array:$陣列}
變數後面要加上 |
| 後面加上函數名稱,函數需要的參數用 : 格開
{$user->name|upper}
三、 常用Smarty迴圈用法
- Smarty迴圈用來處理陣列,常用方法如下:
{foreach $來源變數 as $別名} {$別名.索引} {foreachelse} 該變數沒有值時要出現的內容 {/foreach} - 迴圈還有一些特別的用法:
- {$別名@first} 迴圈第一圈
- {$別名@last} 迴圈最後一圈
- {$別名@index} 取得迴圈的索引值,依序輸出0、1、2......
- {$別名@iteration} 取得迴圈的計數值,依序輸出1、2、3......
- {$別名@total} 取得迴圈執行總數
- 詳情可見:http://www.smarty.net/docs/en/language.function.foreach.tpl