<table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0"><tr><th colspan="3" align="center">Smarty - the compiling PHP template engine</th></tr><tr><td width="25%" align="left" valign="bottom"><a href="language.builtin.functions.html" accesskey="P">Prev</a></td> <td width="50%" align="center" valign="bottom">Chapter 7. Built-in Functions[第七章.內置函數]</td> <td width="25%" align="right" valign="bottom"><a href="language.function.append.html" accesskey="N">Next</a></td></tr></table>
# {$var=...} 變量賦值
This is a short-hand version of the {assign} function. You can assign values directly to the template, or assign values to array elements too.
這是{assign}函數的簡寫版,你可以直接賦值給模版,也可以為數組元素賦值。
<table width="80%" border="0" cellpadding="2" cellspacing="2" class="note"><caption> 提示 </caption> <tr><td>Note<br/>Assignment of variables in-template is essentially placing application logic into the presentation that may be better handled in PHP. Use at your own discretion.<br/>在模板里為變量賦值本質上來說是為外觀描述放置應用程序,一般來說變量賦值行為在php代碼中操作比較好。不過,一切由你定奪。</td> </tr></table>
The following attributes can be added to the tag:
**屬性標簽: **
<table width="80%" border="1" class="CALSTABLE"><thead><tr><th width="20%" align="CENTER" valign="TOP">Attribute Name</th> <th width="20%" align="CENTER" valign="TOP">Shorhand</th> <th width="20%" align="CENTER" valign="TOP">Type</th> <th width="20%" align="CENTER" valign="TOP">Required</th> <th width="20%" align="CENTER" valign="TOP">Default</th> <th width="20%" align="LEFT" valign="TOP">Description</th> </tr></thead><tbody><tr><td width="20%" align="CENTER" valign="TOP">scope</td> <td width="20%" align="CENTER" valign="TOP">n/a</td> <td width="20%" align="CENTER" valign="TOP">string</td> <td width="20%" align="CENTER" valign="TOP">no</td> <td width="20%" align="CENTER" valign="TOP"><span class="emphasis"> <i class="EMPHASIS">n/a</i> </span> </td> <td width="20%" align="LEFT" valign="TOP"> The scope of the assigned variable: 'parent','root' or<br/> 'global'</td> </tr></tbody></table>
**option flags:**
| **Name** | **Description** |
|-----|-----|
| nocache | Assingns the variable with the 'nocache' attribute |
**屬性:**
| 屬性 | 簡寫 | 類型 | 是否必須 | 缺省值 | 描述 |
|-----|-----|-----|-----|-----|-----|
| scope | n/a(不可用) | string | no | *n/a* | 指定的變量范圍為:parent、root、global |
**選項標簽:**
| **名稱** | **描述** |
|-----|-----|
| nocache | 用'nocache' 屬性為變量賦值(意為變量不緩存) |
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="EXAMPLE"><tr><td><div class="EXAMPLE"> <a name="AEN271" id="AEN271"> </a> <b>Example 7.1. Simple assignment<br/> 例 7-1.簡單的賦值</b> <table border="0" bgcolor="#E0E0E0" width="100%"><tr><td><pre class="PROGRAMLISTING">{$name='Bob'}The value of $name is {$name}. The above example will output:The value of $name is Bob.</pre> </td> </tr></table></div></td> </tr></table>
**Example 7.2. Assignment with math **
**例 7-2.數學計算的賦值**
|
~~~
{$running_total=$running_total+$some_array[row].some_value}
~~~
|
|-----|
**Example 7.3. Assignment of an array element**
**例 7-3.數組元素賦值 **
|
~~~
{$user.name="Bob"}
~~~
|
|-----|
**Example 7.4. Assignment of an multidimensional array element**
**例 7-4.多維數組元素的賦值 **
|
~~~
{$user.name.first="Bob"}
~~~
|
|-----|
**Example 7.5. Appending an array**
**例 7-5.為數組添加新元素 **
|
~~~
{$users[]="Bob"}
~~~
|
|-----|
**Example 7.6. Assigment in the scope of calling template**
**例 7-6.為調用的模版指定變量范圍**
|
~~~
Variables assigned in the included template will be seen in the including template.
被載入的模版變量值只能在該模版里可見(作為調入的模版不可見)。{include file="sub_template.tpl"}...{* display variable assigned in sub_template *}
{*變量值在sub_template里可見*}{$foo}<br>... The template above includes the example sub_template.tpl below
上述模板包括下面sub_template.tpl的例子...{* foo will be known also in the including template *}{* foo(譯注:被載入的模版變量)可在載入模版中可見 *}{$foo="something" scope=parent}{* bar is assigned only local in the including template *}
{* bar只在載入模版中指定 *}{$bar="value"}...
~~~
|
|-----|
See also {assign} and {append}
參見[{assign}](#)和[{append}](#)
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="language.builtin.functions.html" accesskey="P">Prev</a></td><td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">Home</a></td><td width="33%" align="right" valign="top"><a href="language.function.append.html" accesskey="N">Next</a></td></tr><tr><td width="33%" align="left" valign="top">Built-in Functions<br/> 內置函數</td><td width="34%" align="center" valign="top"><a href="language.builtin.functions.html" accesskey="U">Up</a></td><td width="33%" align="right" valign="top">{append}<br/> 追加</td></tr></table>
- Smarty模板編譯引擎
- 序
- 譯序
- I.開始
- 第一章. 什么是Smarty?
- 第二章. 安裝
- II.模板設計者篇
- 第三章.基本語法
- 注釋
- 變量
- 函數
- 屬性
- 雙引號里嵌入變量
- 數學運算
- 忽略Smarty解析
- 第四章.變量
- 從PHP分配的變量
- 從配置文件讀取的變量
- 變量范圍
- {$smarty}保留變量
- 第五章.變量調節器
- capitalize
- cat
- count_characters
- count_paragraphs
- count_sentences
- count_words
- date_format
- default
- escape
- indent
- lower
- nl2br
- regex_replace
- replace
- spacify
- string_format
- strip
- strip_tags
- truncate
- upper
- wordwrap
- 第六章.組合修改器
- 第七章.內置函數
- {$var=}
- {append}
- {assign}
- {block}
- {call}
- {capture}
- {config_load}
- {debug}
- {extends}
- {for}
- {foreach},{foreachelse}
- @index
- {function}
- {if},{elseif},{else}
- {include}
- {include_php}
- {insert}
- {ldelim},{rdelim}
- {literal}
- {nocache}
- {php}
- {section},{sectionelse}
- .index
- {while}
- 第八章.自定義函數
- {counter}
- {cycle}
- {eval}
- {fetch}
- {html_checkboxes}
- {html_image}
- {html_options}
- {html_radios}
- {html_select_date}
- {html_select_time}
- {html_table}
- {mailto}
- {math}
- {textformat}
- 第九章.配置文件
- 第十章.調試控制臺
- III.模板程序員篇
- 第十一章 常量
- SMARTY_DIR
- 第十二章 Smarty類變量
- $template_dir
- 第十三章.Smarty類方法
- append()
- appendByRef()
- assign()
- assignByRef()
- clearAllAssign()
- clearAllCache()
- clearAssign()
- clearCache()
- clearCompiledTpl()
- clearConfig()
- compileAllConfig()
- compileAllTemplates()
- configLoad()
- createData()
- createTemplate()
- disableSecurity()
- display()
- enableSecurity()
- fetch()
- getConfigVars()
- getRegisteredObject()
- getTags()
- getTemplateVars()
- isCached()
- loadFilter()
- registerFilter()
- registerPlugin()
- registerObject()
- registerResource()
- templateExists()
- unregisterFilter()
- unregisterPlugin()
- unregisterObject()
- unregisterResource()
- testInstall()
- 第十四章.緩存
- 建立緩存
- 多重緩存
- 緩存集合
- 控制插件輸出的可緩存性
- 第十五章.高級特性
- 安全
- 通過模板更改設置
- 模板繼承
- 數據流
- 對象
- 靜態類
- 預過濾器
- 后過濾器
- 輸出過濾器
- 緩存處理函數
- 資源
- 第十六章.以插件擴展Smarty
- 插件如何工作
- 命名約定
- 編寫插件
- 模板函數
- 調節器
- 塊函數
- 編譯函數
- 預濾器/后濾器
- 輸出過濾器
- 資源
- 插入
- Ⅳ.附錄
- 第十七章.疑難解答
- Smarty/PHP 錯誤
- 第十八章.使用技巧和經驗
- 空白變量處理
- 默認變量處理
- 傳遞變量標題給頭模板
- 日期
- WAP/WML
- 組件化模板
- 拒絕電子郵件地址
- 第十九章. 相關資源
- 第二十章. 漏洞
- 3.0安裝包
- 2.x版本升級至3.x版本的提示
- 3.0.x使用指南
- 翻譯人員列表