Smarty學習筆記(一)

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}
相關文章
相關標籤/搜索