在樣版裡,我們可以透過Smarty預先定義好的變數,以存取PHP中的全域變數(SuperGlobals)
| Smarty 保留變數 | 等同的PHP變數 |
| $smarty.get | $_GET |
| $smarty.post | $_POST |
| $smarty.request | $_REQUEST |
| $smarty.session | $_SESSION |
| $smarty.cookies | $_COOKIE |
| $smarty.env | $_ENV |
| $smarty.server | $_SERVER |
| $smarty.const | 利用define函式定義的常數 |
另一種方法(3.xx)
$row@first:第一次執行foreach
$row@last:最後1次執行 foreach
$row@index:取得迴圈的計數值 0、1、2、........
$row@total:取得迴圈執行總數
<section>
<div class="container">
<h1>成績單</h1>
<table class="table table-hover table-bordered">
<{foreach $rows as $row}>
<{if $row@first}>
<tr>
<th>序</th>
<th>姓名</th>
<th>國文</th>
<th>英文</th>
<th>社會</th>
</tr>
<{/if}>
<tr>
<{assign var=conuter value=$row@index+1}>
<td><{$conuter}></td>
<td><{$row.name}></td>
<td><{$row.chinese}></td>
<td><{$row.english}></td>
<td><{$row.society}></td>
</tr>
<{if $row@last}>
<tr>
<th colspan=5>總共有:<{$row@total}>人</th>
</tr>
<{/if}>
<{/foreach}>
</table>
</div>
</section>
php
$rows[0]['name']="東方不敗";
$rows[0]['chinese']=89;
$rows[0]['english']=60;
$rows[0]['society']=70;
$rows[1]['name']="楊過";
$rows[1]['chinese']=60;
$rows[1]['english']=80;
$rows[1]['society']=66;
$rows[2]['name']="小龍女";
$rows[2]['chinese']=50;
$rows[2]['english']=100;
$rows[2]['society']=90;
$smarty->assign('rows', $rows);
在樣板中,Smarty 也可以直接拿PHP的函數來用,我們稱之為「變數修飾器」,例如:
變數後面要加上 |
| 後面加上函數名稱,函數需要的參數用 : 格開
例:得到檔案名稱
<{$SCRIPT_NAME|basename}>