W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
{include}
用于載入其他模板到當(dāng)前模板中。 在包含模板中可用的變量,載入后在當(dāng)前模板仍然可用。
{include}
必須設(shè)置file
屬性,設(shè)置載入的文件資源路徑。
設(shè)置了可選的assign
屬性,將{include}
模板的內(nèi)容賦值到變量,而并非輸出。 與{assign}
操作相似。
包含模板時(shí),可以像使用屬性一樣設(shè)置傳遞的變量。 這樣傳遞的變量,作用范圍僅限于包含的模板內(nèi)。 屬性傳遞的變量將覆蓋原包含模板的同名變量。
你可以在當(dāng)前模板內(nèi)使用包含模板的全部變量。 但是如果包含模板內(nèi)有修改或者新建變量,那么這些變量只有包含模板的作用范圍,而不可以是當(dāng)前{include}
模板中使用。 這種默認(rèn)的設(shè)置,可以通過(guò)在包含模板時(shí)設(shè)置{include}
的作用范圍屬性,或者 在修改或新增變量時(shí)通過(guò){assign}
的作用范圍屬性來(lái)設(shè)定。 后者在需要包含模板返回值時(shí)比較有用。
當(dāng)文件不在$template_dir
目錄中時(shí), 使用資源的語(yǔ)法來(lái){include}
包含文件。
Attributes:
參數(shù)名稱 | 類型 | 必選參數(shù) | 默認(rèn)值 | 說(shuō)明 |
---|---|---|---|---|
file | string | Yes | n/a | 包含載入的文件名 |
assign | string | No | n/a | 將包含的文件內(nèi)容賦值給變量 |
cache_lifetime | integer | No | n/a | 單獨(dú)開(kāi)啟被包含模板的緩存時(shí)間 |
compile_id | string/integer | No | n/a | 單獨(dú)設(shè)置被包含模板的編譯ID |
cache_id | string/integer | No | n/a | 單獨(dú)設(shè)置被包含模板的緩存ID |
scope | string | No | n/a | 定義被包含模板的賦值變量作用范圍: 'parent','root' 或 'global' |
[var ...] | [var type] | No | n/a | 傳遞到包含模板的變量 |
可選標(biāo)記:
名稱 | 說(shuō)明 |
---|---|
nocache | 關(guān)閉包含模板的緩存 |
caching | 打開(kāi)包含模板的緩存 |
inline | 設(shè)置成true時(shí),在編譯時(shí)把包含模板的內(nèi)容也合并到當(dāng)前模板的編譯文件中。 |
Example 7.46. 簡(jiǎn)單 {include} 例子
<html> <head> <title>{$title}</title> </head> <body> {include file='page_header.tpl'} {* body of template goes here, the $tpl_name variable is replaced with a value eg 'contact.tpl' *} {include file="$tpl_name.tpl"} {* using shortform file attribute *} {include 'page_footer.tpl'} </body> </html>
Example 7.47. {include} 傳遞變量
{include 'links.tpl' title='Newest links' links=$link_array} {* body of template goes here *} {include 'footer.tpl' foo='bar'}
包含了下面的 links.tpl
模板
<div id="box"> <h3>{$title}{/h3> <ul> {foreach from=$links item=l} .. do stuff ... </foreach} </ul> </div>
Example 7.48. {include} 作用范圍示例
在包含的模板內(nèi)賦值的變量,在包含模板內(nèi)可見(jiàn)。
{include 'sub_template.tpl' scope=parent} ... {* display variables assigned in sub_template *} {$foo}<br> {$bar}<br> ...
包含了下面的 sub_template.tpl
模板
... {assign var=foo value='something'} {assign var=bar value='value'} ...
Example 7.49. {include} 關(guān)閉緩存
包含模板將不被緩存
{include 'sub_template.tpl' nocache} ...
Example 7.50. {include} 單獨(dú)的緩存時(shí)間
下面例子包含模板將單獨(dú)設(shè)置緩存時(shí)間500秒。
{include 'sub_template.tpl' cache_lifetime=500} ...
Example 7.51. {include}開(kāi)啟緩存
下面的例子包含模板的緩存將獨(dú)立于全局模板緩存設(shè)置之外。
{include 'sub_template.tpl' caching} ...
Example 7.52. {include} 和賦值變量
下面的例子將nav.tpl
的內(nèi)容賦值給了$navbar
變量, 該變量將頁(yè)面的頭部和底部顯示。
<body> {include 'nav.tpl' assign=navbar} {include 'header.tpl' title='Smarty is cool'} {$navbar} {* body of template goes here *} {$navbar} {include 'footer.tpl'} </body>
Example 7.53. {include} 相對(duì)路徑
下面的例子包含的模板文件都是相對(duì)當(dāng)前模板的目錄。
{include 'template-in-a-template_dir-directory.tpl'} {include './template-in-same-directory.tpl'} {include '../template-in-parent-directory.tpl'}
Example 7.54. 各種 {include} 資源例子
{* absolute filepath *} {include file='/usr/local/include/templates/header.tpl'} {* absolute filepath (same thing) *} {include file='file:/usr/local/include/templates/header.tpl'} {* windows absolute filepath (MUST use "file:" prefix) *} {include file='file:C:/www/pub/templates/header.tpl'} {* include from template resource named "db" *} {include file='db:header.tpl'} {* include a $variable template - eg $module = 'contacts' *} {include file="$module.tpl"} {* wont work as its single quotes ie no variable substitution *} {include file='$module.tpl'} {* include a multi $variable template - eg amber/links.view.tpl *} {include file="$style_dir/$module.$view.tpl"}
參見(jiàn) {include_php}
, {insert}
, {php}
, 模板資源 和 模板組件化.
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)系方式:
更多建議: