1.Smarty的配置:php
將lib的內容複製到本身的工程,而後引入html
實例化和配置Smarty基本屬性:api
$smarty = new Smarty(); $smarty->left_delimiter = "{"; //左定界符 $smarty->right_delimiter = "}";//右定界符 {大括號內內容由Smarty處理} $smarty->template_dir = "tpl"; //html模版 $smarty->compile_dir = "template_c"; //模板編譯生成的文件 $smarty->cache_dir = "cache"; $smarty->caching = true; $smarty->cache_lifetime = 120;其中界定符定義了Smarty處理的部分。
2.Smarty的基本語法:數組
1.變量定義和賦值函數
$smarty->assign(<var>,<var_value>);
$smarty->display('<tpl>')2.註釋
{*註釋內容*}oop
3.數組變量的輸出學習
定義:url
$arr = array('articlecontent' =>array('title'=>'smarty學習','author'=>'小明')); $smarty->assign('arr',$arr);訪問:
{$arr.articlecontent.title}
{$arr['articlecontent']['title']}</span>
4.變量調節器:spa
使用code
{<變量>|<調節器>}
1.調節器例如capitalize是首字母大寫 lower upper
2.字符串鏈接:{<原始字符串>|cat:<要鏈接的字符串>} 可屢次鏈接,屢次鏈接後面直接加 :<內容>:<內容>(冒號 內容 冒號 內容...)
3.日起格式化 date_format
{$yesterday|date_format} 可帶參數
php的函數time能夠獲得Unix時間戳,即從1970年1月1日至今的秒數
格式化方式爲
{$time|date_format:"%B %e %Y %H:%M:%S"}
時間爲格林威治時間
B爲月,e爲日,Y爲年
4.爲未賦值或空變量設定默認值
|default:<默認值>
5.escape轉碼
url可能會影響php等腳本語言正常運轉,對網址轉碼
對url轉碼:
{$url|escape:'url'}
6.nl2br表示將正常換行符轉化爲br標籤,能夠實現字符串換行
3.條件判斷
eq ==
neq !=
gt >
lt <
注意修飾符和變量常量空格隔開
例子:
{if $score gt 90} 優秀 {elseif $score gt 60} 及格 {else} 不及格 {/if}4.循環語句
{section name=<element_index> loop=<要循環的數組>}
{/section}
例如要打印以下數組的內容:
$way = array( array( "title" => "article1", "author" => "ywx", "content" => "ich mag dich!" ), array( "title" => "article2", "author" => "dw", "content" => "ich mag dich?" ) );//$way在smarty中配置爲$dich在php腳本中以下操做:
{section name=index loop=$dich} {$dich[index].title} {$dich[index].author} {$dich[index].content} <br/> {/section}
foreach的用法:
{foreach item=<item> from=<source>} {$item.index} {foreachelse} {/foreach}