真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP中Smarty模板如何實(shí)現(xiàn)模板繼承-創(chuàng)新互聯(lián)

這篇文章主要介紹PHP中Smarty模板如何實(shí)現(xiàn)模板繼承,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)是專業(yè)的密山網(wǎng)站建設(shè)公司,密山接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行密山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

{extends}
模板繼承中,你可以在子模板內(nèi)使用{extends}標(biāo)簽來擴(kuò)展父模板。
1.{extends}必須放在模板的第一行。
2.如果子模板要用{extends}來擴(kuò)展父模板,那么它只能有 {block}的區(qū)域。

3.任何其他的模板內(nèi)容都會被忽略。

擴(kuò)展使用在$template_dir 之外的文件,請使用模板資源的語法。

Note
當(dāng)你擴(kuò)展一個父模板名稱的變量如{extends file=$parent_file},

請確保$parent_file變量放到同一個 $cache_id中. 否則Smarty無法辨別不同的$parent_file變量。

parent.php頁面

left_delimiter="<{"; $smarty->right_delimiter="}>"; //設(shè)置為false 定界符號左右可以有空格 $smarty->auto_literal = false; //添加一個插件的目錄 //$smarty->setPluginsDir(ROOT."/libs/myplugins/"); //注意添加一個插件,要把系統(tǒng)默認(rèn)設(shè)置的路徑加入 否則不能使用默認(rèn)系統(tǒng)的插件 $smarty->setPluginsDir(array(     ROOT."/libs/plugins/",//系統(tǒng)默認(rèn)設(shè)置的路徑     ROOT."/libs/myplugins/",//自定義的 )); //變量輸出 $smarty->display('parent.tpl'); ?>

child.php頁面

left_delimiter="<{"; $smarty->right_delimiter="}>"; //設(shè)置為false 定界符號左右可以有空格 $smarty->auto_literal = false; //變量輸出 $smarty->display('child.tpl'); ?>

parent.tpl頁面

         <{block name="one"}>This is a title<{/block}> <{block name="two"}>This is a content....<{/block}> <{block name="three"}>我是<{/block}> <{block name="four"}>中國<{/block}> <{block name="five"}>電影<{/block}> <{block name="six"}>我要去<{$smarty.block.child}>上大學(xué)<{/block}>

child.tpl頁面

<{extends 'parent.tpl'}> <{block name="one"}>我是第一個block<{/block}> <{block name="two"}>我是第二個block<{/block}> <{block name="three" append}>津沙港灣<{/block}> <{block name="four" prepend}>我愛你,<{/block}> <{block name="five" }>你喜歡看<{$smarty.block.parent}>嗎?<{/block}> <{block name="six" }>上海<{/block}>

瀏覽器輸出(child.php頁面輸出)

我是第二個block 我是津沙港灣 我愛你,中國 你喜歡看電影嗎? 我要去上海上大學(xué)

模板繼承
繼承是從面向?qū)ο缶幊潭鴣淼母拍睢?/p>

模板繼承可以讓你定義一個或多個父模板,提供給子模板來進(jìn)行擴(kuò)展。

擴(kuò)展繼承意味著子模板可以覆蓋部分或全部父模板的塊區(qū)域。

繼承結(jié)構(gòu)可以是多層次的,所以你可以繼承于一個文件,而這個文件又是繼承于其他文件,等等。

在覆蓋父模板的{block}塊以外的地方, 子模板不能定義任何內(nèi)容。

任何在{block}以外的 內(nèi)容都會被自動忽略。

在子模板和父模板中的{block}內(nèi)容,可以通過 append 和 prepend來進(jìn)行合并。

{block}的選項(xiàng),和 {$smarty.block.parent} 或 {$smarty.block.child}會持有這些內(nèi)容。

模板繼承在編譯時將編譯成單獨(dú)的一個編譯文件。

對比效果相似的{include}包含模板功能,模板繼承的性能更高。

子模板繼承使用{extends}標(biāo)簽, 該標(biāo)簽一定放要在子模板的第一行。

另一種做法是將整個模板繼承樹,在PHP程序調(diào)用fetch() 或 display()的時候,

用extends:的模板資源類型,該做法有更大的靈活性。

Note
當(dāng)開啟了$compile_check,繼承樹里面的全部文件都會在每次調(diào)用的時候檢查是否有修改。

因此,在生產(chǎn)環(huán)境中你最好關(guān)閉$compile_check。

Note
如果你的子模板里面有用到{include} 來包含模板,而被包含的模板里面存在供{include}模板 調(diào)用的{block}區(qū)域, 那么在最頂層的父模板里面,你需要放置一個空的 {block} 來作為繼承。

以上是“PHP中Smarty模板如何實(shí)現(xiàn)模板繼承”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)頁標(biāo)題:PHP中Smarty模板如何實(shí)現(xiàn)模板繼承-創(chuàng)新互聯(lián)
文章路徑:http://weahome.cn/article/ccoood.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部