smarty基礎語法

變量
{$foo} <-- 顯示簡單的變量 (非數組/對象) {$foo[4]} <-- 在0開始索引的數組中顯示第五個元素 {$foo.bar} <-- 顯示"bar"下標指向的數組值,等同於PHP的$foo['bar'] {$foo.$bar} <-- 顯示以變量$bar值做爲下標指向的數組值,等同於PHP的$foo[$bar] {$foo->bar} <-- 顯示對象屬性 "bar" {$foo->bar()} <-- 顯示對象成員方法"bar"的返回 {#foo#} <-- 顯示變量配置文件內的變量"foo" {$smarty.config.foo} <-- 等同於{#foo#} {$foo[bar]} <-- 僅在循環的語法內可用,見{section} {assign var=foo value='baa'}{$foo} <-- 顯示"baa", 見{assign} 更多合成變量的方式: {$foo.bar.baz} {$foo.$bar.$baz} {$foo[4].baz} {$foo[4].$baz} {$foo.bar.baz[4]} {$foo->bar($baz,2,$bar)} <-- 傳遞參數 {"foo"} <-- 靜態值 {* 顯示服務器的環境變量"SERVER_NAME" ($_SERVER['SERVER_NAME'])*} {$smarty.server.SERVER_NAME} 數學運算和嵌入標籤: {$x+$y} // 顯示x加y的和 {assign var=foo value=$x+$y} // 和用於賦值 {$foo[$x+3]} // 做爲下標使用 {$foo={counter}+3} // 標籤內的標籤 {$foo="this is message {counter}"} // 在雙引號內的標籤 定義數組: {assign var=foo value=[1,2,3]} {assign var=foo value=['y'=>'yellow','b'=>'blue']} {assign var=foo value=[1,[9,8],3]} // 可嵌套 縮寫方式: {$foo=$bar+2} {$foo = strlen($bar)} // 函數賦值 {$foo = myfunct( ($x+$y)*3 )} // 函數參數 {$foo.bar=1} // 賦值給特定的數組元素 {$foo.bar.baz=1} {$foo[]=1} // 附加到數組 Smarty 點號語法: {$foo.a.b.c} => $foo['a']['b']['c'] {$foo.a.$b.c} => $foo['a'][$b]['c'] // 變量下標 {$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c'] // 表達式下標 {$foo.a.{$b.c}} => $foo['a'][$b['c']] // 嵌套下標 相似PHP的語法,另外一種點號的語法: {$foo[1]} // 通常的 {$foo['bar']} {$foo['bar'][1]} {$foo[$x+$x]} // 下標能夠是各類表達式 {$foo[$bar[1]]} // 嵌套下標 {$foo[section_name]} // smarty {section} 存取, 非數組存取! 變量構造變量: $foo // 通常的變量 $foo_{$bar} // 變量名包含了其餘變量 $foo_{$x+$y} // 變量名包含了表達式 $foo_{$bar}_buh_{$blar} // 更復雜的 {$foo_{$x}} // 如$x = 1,那麼將顯示$foo_1的值 對象鏈: {$object->method1($x)->method2($y)} PHP函數直接使用: {time()

函數

每一個Smarty的標籤均可以是顯示一個 變量或者調用 某種類型的函數。 調用和顯示的方式是在定界符內包含了函數,和其 屬性, 如:{funcname attr1="val1" attr2="val2"}.html

Example 3.3. 函數語法數組

{config_load file="colors.conf"}

{include file="header.tpl"}
{insert file="banner_ads.tpl" title="My Site"}

{if $logged_in}
    Welcome, <span style="color:{#fontColor#}">{$name}!</span>
{else}
    hi, {$name}
{/if}

{include file="footer.tpl"}
  • 包括內置函數自定義函數 都是用一樣的語法調用。服務器

  • 內置函數是工做在Smarty 內部的函數, 相似 {if}, {section}{strip}等等。 它們不須要進行修改或者改變。函數

  • 自定義函數是經過插件定義的 額外的函數。 你能夠任意修改自定義函數,或者建立一個新的函數。 {html_options}就是一個自定義函數的例子。ui

相關文章
相關標籤/搜索