ThinkPHP-模板指南-引入標(biāo)簽庫
導(dǎo)航:返回上一頁
前面我們所講述的標(biāo)簽用法都是內(nèi)置的標(biāo)簽庫或者內(nèi)置模板的用法,事實(shí)上,內(nèi)置模板引擎的標(biāo)簽庫是可以無限擴(kuò)展和增加標(biāo)簽的,一旦你擴(kuò)展和使用了新的標(biāo)簽庫,就必須要告訴模板當(dāng)前要使用的標(biāo)簽庫名稱,否則不會(huì)自動(dòng)導(dǎo)入,防止以后標(biāo)簽庫大量擴(kuò)展后增加解析工作量,導(dǎo)入標(biāo)簽庫使用tagLib標(biāo)簽。
格式:<tagLib name="標(biāo)簽庫1[,標(biāo)簽庫2,…]" />
可以同時(shí)導(dǎo)入多個(gè)標(biāo)簽庫,用逗號(hào)分隔。
<tagLib name="html" />
表示在當(dāng)前模板文件需要引入html標(biāo)簽庫。要引入標(biāo)簽庫必須確保有Html標(biāo)簽庫的定義文件和解析類庫(如何擴(kuò)展這種方式請(qǐng)參考前面的標(biāo)簽庫擴(kuò)展部分)。Cx標(biāo)簽庫內(nèi)置導(dǎo)入,無需使用taglib標(biāo)簽導(dǎo)入。
引入后,html標(biāo)簽庫的所有標(biāo)簽在當(dāng)前模板頁面中都可以使用了。外部導(dǎo)入的標(biāo)簽庫必須使用標(biāo)簽庫前綴的xml標(biāo)簽,避免兩個(gè)不同的標(biāo)簽庫中存在同名的標(biāo)簽定義,例如(假設(shè)Html標(biāo)簽庫中已經(jīng)有定義select和link標(biāo)簽):
XML/HTML代碼
<html:select options='name' selected='value' /> <html:link href='/path/to/common.js' />
標(biāo)簽庫使用的時(shí)候忽略大小寫,因此下面的方式一樣有效:
XML/HTML代碼
<HTML:LINK HREF='/path/to/common.js' />
如果你的每個(gè)模板頁面都需要加載Html標(biāo)簽庫的話,也可以通過配置直接預(yù)先加載Html標(biāo)簽庫。
PHP代碼
'TAGLIB_PRE_LOAD' => 'html' ,
如果有多個(gè)標(biāo)簽庫需要預(yù)先加載的話,用逗號(hào)分隔。定義之后,每個(gè)模板頁面都可以直接使用:
XML/HTML代碼
<html:select options='name' selected='value' />
而不需手動(dòng)引入Html標(biāo)簽庫。
假設(shè)你確信Html標(biāo)簽庫無論在現(xiàn)在還是將來都不會(huì)和系統(tǒng)內(nèi)置的標(biāo)簽庫存在相同的標(biāo)簽,那么可以配置TAGLIB_BUILD_IN的值把Html標(biāo)簽庫作為內(nèi)置標(biāo)簽庫引入.
例如:PHP代碼
'TAGLIB_BUILD_IN' => 'cx,html' ,
這樣,也無需在模板文件頁面引入Html標(biāo)簽庫了,并且可以不帶前綴直接使用Html標(biāo)簽庫的標(biāo)簽:
XML/HTML代碼
<select options='name' selected='value' />
注意,cx標(biāo)簽庫是系統(tǒng)內(nèi)置標(biāo)簽庫,不能刪除定義。