W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
{assign}
用于在模板運(yùn)行期間賦值給變量.
在模板中進(jìn)行賦值,從根本上講還是將程序邏輯放到顯示層來(lái)進(jìn)行了,在PHP端進(jìn)行此操作會(huì)更好。請(qǐng)自行考慮。
參見(jiàn)賦值給變量方法的縮寫(xiě)
。
屬性:
參數(shù)名稱 | 類型 | 必選參數(shù) | 默認(rèn)值 | 說(shuō)明 |
---|---|---|---|---|
var | string | Yes | n/a | 被賦值的變量名 |
value | string | Yes | n/a | 賦的值 |
scope | string | No | n/a | 變量的作用范圍: 'parent','root' 或 'global' |
可選標(biāo)記:
名稱 | 說(shuō)明 |
---|---|
nocache | 對(duì)賦值操作不進(jìn)行緩存 |
Example 7.8. {assign}
{assign var="name" value="Bob"} {assign "name" "Bob"} {* short-hand *} The value of $name is {$name}.
輸出:
The value of $name is Bob.
Example 7.9. {assign} 使用nocache屬性
{assign var="name" value="Bob" nocache} {assign "name" "Bob" nocache} {* short-hand *} The value of $name is {$name}.
輸出:
The value of $name is Bob.
Example 7.10. {assign} 進(jìn)行數(shù)學(xué)運(yùn)算
{assign var=running_total value=$running_total+$some_array[$row].some_value}
Example 7.11. {assign} 在調(diào)用的模板內(nèi)的作用范圍
在包含的模板內(nèi)賦值的變量,在包含模板內(nèi)可見(jiàn)。
{include file="sub_template.tpl"} ... {* display variable assigned in sub_template *} {$foo}<br> ...
上面的模板是包含了下面的模板sub_template.tpl
... {* foo will be known also in the including template *} {assign var="foo" value="something" scope=parent} {* bar is assigned only local in the including template *} {assign var="bar" value="value"} ...
Example 7.12. {assign} 作用范圍例子
設(shè)置變量訪問(wèn)范圍為root,然后該變量在相關(guān)模板里面都可見(jiàn)。
{assign var=foo value="bar" scope="root"}
Example 7.13. {assign} 賦值一個(gè)全局變量
全局變量在任何模板內(nèi)均可見(jiàn)。
{assign var=foo value="bar" scope="global"} {assign "foo" "bar" scope="global"} {* short-hand *}
Example 7.14. 從PHP腳本中獲取{assign} 的變量
可以使用 getTemplateVars()
在PHP腳本中獲取{assign}
的變量值。 這里的模板創(chuàng)建了變量$foo
。
{assign var="foo" value="Smarty"}
當(dāng)模板被執(zhí)行時(shí)/執(zhí)行后,可以用以下的方式在PHP獲取到這個(gè)模板變量。
<?php // this will output nothing as the template has not been executed echo $smarty->getTemplateVars('foo'); // fetch the template to a variable $whole_page = $smarty->fetch('index.tpl'); // this will output 'smarty' as the template has been executed echo $smarty->getTemplateVars('foo'); $smarty->assign('foo','Even smarter'); // this will output 'Even smarter' echo $smarty->getTemplateVars('foo'); ?>
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: