版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Smarty一、內(nèi)建函數(shù)Smarty 函數(shù)-插件內(nèi)建函數(shù)自定義函數(shù)sysplugins plugins不允許修改可以修改1、capture捕獲一段內(nèi)容,但不輸出語(yǔ)法:capture name=var內(nèi)容/capture Name:將內(nèi)容保存到指定的變量中$smarty.capture.var在模板中,需要反復(fù)輸出的大量?jī)?nèi)容,可以考慮使用 capture 捕獲。2、config_load加載配置文件config_loadfile=“file”section=“section”file:配置文件名稱section:哪個(gè)配置節(jié) 可選參數(shù)語(yǔ)法:#var#$smarty.config.var3、fore
2、ach,foreachelse用于遍歷數(shù)組語(yǔ)法:foreach from=數(shù)組 key=鍵 name=名稱 item=內(nèi)容 foreachelse 當(dāng)要遍歷的數(shù)組沒有任何元素時(shí),執(zhí)行 foreachelse 后面的語(yǔ)句/foreachFrom:要遍歷的數(shù)組 Item:遍歷到的鍵值 Key:遍歷到的鍵名 Name:為foreach 語(yǔ)句命名Foreach 內(nèi)置變量$.index :索引從 0 開始$.iteration:索引從 1 開始$.:當(dāng)?shù)谝淮螆?zhí)行循環(huán)時(shí),該值為true$sma
3、.last :當(dāng)最后一次執(zhí)行循環(huán)時(shí),該值為true$.total :循環(huán)總數(shù)Smarty3.0 中,將foreach 語(yǔ)句進(jìn)行了升級(jí)語(yǔ)法:foreach $myarray as $key = $value$valueiteration$valueindex$value$valuelast$valuetotal/foreach4、include另一個(gè)模板文件include file=“file” assign=“var”var . File:要引入的模板文件Assign:將結(jié)果保存,但本次不輸出var :可選參數(shù),為模板文件傳
4、參5、include_包含一個(gè)文件 include_file=“file” assign=“var”once=“true|false”File:要引入的文件Assign:保存輸出結(jié)果,但本次不輸出Once:是否只包含一次true:是false:否這個(gè)函數(shù)在 smarty2.6 中是可用的,但在 3.0 中將這個(gè)函數(shù)移除,如果還想使用這個(gè)函數(shù),可以SmartyBC.class.這個(gè)類文件6、insert在模板中,執(zhí)行一個(gè)函數(shù)語(yǔ)法: insert name=“func” Name :被調(diào)用的var . 函數(shù)名var . :調(diào)用函數(shù)時(shí)指定參數(shù)可選參數(shù)Insert 和 include_ SmartyB
5、C.class.是同樣的。都是 2.6 中的函數(shù),在 3.0 中,將這個(gè)功能放到這個(gè)文件中了。注意:inser的函數(shù)的名稱必須以insert_為前綴7、if elseif elseifelseifelse/if8、ldelim 、rdelim 模板中的 的轉(zhuǎn)義符ldelimrdelim9、literalliteral 標(biāo)記中間的內(nèi)容不會(huì)被smarty 所literal/literal10、可以在一對(duì)標(biāo)記中寫代碼/這個(gè)功能,目前放到了SmartyBC.class.文件中11、section,sectionelsesection 是一種循環(huán)結(jié)構(gòu)語(yǔ)句,主要用于遍歷數(shù)組語(yǔ)法:section name=
6、名稱 loop=循環(huán)數(shù)組(次數(shù))大循環(huán)次數(shù)sectionelse/sectionstart=開始(0) step=步階(1)max=最Name:為section 語(yǔ)句命名Loop:循環(huán)數(shù)組 必選必選Start:開始索引默認(rèn)值:0Step:步長(zhǎng) 默認(rèn)值:1 Max:最大循環(huán)次數(shù)默認(rèn)值:總長(zhǎng)度Foreach 和section 的區(qū)別:Foreach 是指直接對(duì)一個(gè)數(shù)組進(jìn)行遍歷Section 是一種循環(huán)語(yǔ)句,它的循環(huán)次數(shù)由數(shù)組個(gè)數(shù)決定Section 在遍歷數(shù)組是有的選擇性section 的內(nèi)置變量$.index 循環(huán)索引$.
7、index_prev 上一次循環(huán)索引$.index_next 下一次循環(huán)索引$.iteration 循環(huán)索引從 1 開始$.|last第 1 次和最后一次執(zhí)行時(shí)這兩個(gè)值為true循環(huán)總次數(shù)$.total12、strip去除前后連續(xù)空格語(yǔ)法:strip/strip二、自定義函數(shù)1、assign創(chuàng)建模板變量assign var=“var” value=“value” Var :指定變量名稱 Value:指定變的值2、counter計(jì)數(shù)器語(yǔ)法:cou
8、nter start=0 skip=2 pr Start:開始的值=falseSkip:步長(zhǎng)默認(rèn)為 1Pr:本次是否輸出3、cycle實(shí)現(xiàn)輪轉(zhuǎn) Values:要輪轉(zhuǎn)的值的列表4、debug開啟調(diào)試窗口語(yǔ)法:debug5、eval 計(jì)算變量的值語(yǔ)法:eval var=#ErrorSe# assign=se_errorVar:要計(jì)算的變量名 Assign:保存結(jié)果,但本次不輸出6、fetch文件內(nèi)容并輸出fetch file=“file” assign=“var” File:文件名 Assign:保存結(jié)果本次不輸出7、html_image 在頁(yè)面中,打印一張html_image file=pump
9、kin.jpgFile:地址8、html_table將數(shù)組元素顯示到表格中(只適用于簡(jiǎn)單數(shù)組)html_tableloop=$dols=4必添table_attr=border=0Loop:要遍歷的數(shù)組Cols:每行顯示多少個(gè)格 Table_atr:表格屬性默認(rèn)是三個(gè)9、html_checkboxes打印一組復(fù)選框html_checkboxesvalues=$cust_ids output=$cust_names separator=checked=$customer_idValues:值的數(shù)組 Checked:被選中項(xiàng)的值的數(shù)組 Output:文本的數(shù)組Separator:分隔符每個(gè)復(fù)選項(xiàng)之
10、間的分隔Name:為這組復(fù)選框命名注意:smarty 會(huì)自動(dòng)加上,表示是數(shù)組模板代碼:代碼:10、html_options打印一組option用于 select 元素html_options values=$cust_idsselected=$customer_idoutput=$cust_names文本Values:值的數(shù)組 Output:文本的數(shù)組 Selected:被選中項(xiàng)的值11、html_radios 打印一組單選按鈕語(yǔ)法:html_radiosvalues=$cust_idschecked=$customer_idoutput=$cust_namesseparator=Values
11、:值的數(shù)組 Output:文本的數(shù)組 Separator:分隔符 Checked:被選項(xiàng)中的值三、配置文件配置文件有利于設(shè)計(jì)者管理文件中的模板全局變量。最簡(jiǎn)單的例子就是模板色彩變量。一般情況下你如果想改變一個(gè)程序的外觀色彩,你就必須通過去更改每一個(gè)文件的顏色變量。如果有這個(gè)配置文件的話,色彩變量就可以保存在一個(gè)地方,只要改變這個(gè)配置文件就可以實(shí)現(xiàn)你色彩的更新。配置文件:在上題中,config1 中的bgcolor 與全局bgcolor 重名,以局部的bgcolor 為標(biāo)準(zhǔn)Config1 中并沒有fgcolor 變量,所以執(zhí)行了全局中的fgcolor 變量的值程序設(shè)計(jì)一、常量SMARTY_DIR
12、二、變量$template_dir :模板路徑$compile_dir :編譯路徑$config_dir :配置文件路徑$cache_dir :緩存文件路徑$left_delimiter :左分隔符$right_delimiter :右分隔符$caching :是否開啟緩存public $caching = false;默認(rèn)是開閉緩存的,可以直接設(shè)置為 true,開啟緩存功能$cache_lifetime :緩存的有效時(shí)間(生命周期)public $cache_lifetime = 3600;默認(rèn)是 3600 秒,$debugging開啟調(diào)試窗口開啟調(diào)試窗口共有兩種方式:在模板中,使用debu
13、g在程序中,使用$smarty-debugging=true程序中開啟:可以看到為模板分配的變量模板中開啟:為模板分配的變量,模板自定義的變量$_handling :在 smarty2.6 中,如果想使用標(biāo)記,必須將此選項(xiàng)的值設(shè)置為true三、方法assign:為模板分配變量assignByRef :為模板分配變量 (按傳遞)append:追加模板變量到一個(gè)數(shù)組中appendByRef :追加模板變量到一個(gè)數(shù)組中 (按傳遞)clearAllAssign清除所有已賦值變量clearAssign清除指定的已賦值變量clearCache清除緩存configLoad 加載配置文件在smarty 中,加
14、載配置文件兩種方法:在模板中 config_load file=.在程序中 $smarty-configLoad($file,$section)clearConfig清除所有配置文件變量display、替換、輸出fetch、替換、返回templateExists :判斷模板是否存在嘗 試 加 載 一 個(gè) 不 存 在 的 模 板 會(huì) 報(bào) 錯(cuò) , 在 顯 示 之 前 應(yīng) 該 判 斷assign 和assignByRef 的區(qū)別:Display 和fetch 的區(qū)別:四、過濾器過濾器就是用于過濾數(shù)據(jù)1、過濾器的種類:預(yù)過濾器后過濾器輸出過濾器Prefilterstfilters Output Filters根據(jù)觸發(fā)時(shí)間的不同,劃分出以上三種過濾器2、工作流程tpl 源文件 =Prefilter =編譯tpl 文件 =tfilter =保存到磁盤= 編譯過的文件執(zhí)行=Output Filters(=如果有 smarty cache 的話,Output Filters 的內(nèi)容會(huì)緩存) =結(jié)果輸出。3、過濾器在Smarty 中,過濾器在使用之前必須在 2.6 中,過濾器Prefilters$smarty-register_prefilter(“func”);tfilters$smarty-register_tfi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣告設(shè)計(jì)合同樣本模板
- 2024個(gè)人房屋出租合同精簡(jiǎn)版
- 手機(jī)銷售合同范本2024年
- 2024家長(zhǎng)委托代理人小學(xué)生接送合同
- 房產(chǎn)贈(zèng)與合同范例
- 2024汽車零部件運(yùn)輸合同模板
- 2024年塘壩承包合同堰塘承包協(xié)議
- 2024廣告活動(dòng)贊助合同范本
- 葡萄酒代理授權(quán)合同樣本-合同格式
- 2024上海國(guó)內(nèi)旅游合同范本
- 模擬電子技術(shù)課程思政教學(xué)案例探究
- 中職班級(jí)精細(xì)化管理的實(shí)踐探究
- 消防安全操作規(guī)程(20211127050648)
- 設(shè)備包機(jī)制度
- 大體積混凝土養(yǎng)護(hù)方案
- 1803綜采工作面供電設(shè)計(jì)
- 胎心聽診技術(shù)PPT參考課件
- 卵巢畸胎瘤PPT優(yōu)秀課件
- 《三只小豬》劇本
- 藥廠生產(chǎn)過程中的危險(xiǎn)有害因素分析及安全對(duì)策
- 從軌道電路的運(yùn)用看區(qū)間信號(hào)的發(fā)展
評(píng)論
0/150
提交評(píng)論