在ECShop模板的dwt文件中,經(jīng)常可以看到類似 {insert_scripts files=’common.js’}或者{insert name=’cart_info’}的代碼。
對(duì)于{insert_scripts files=’common.js’},我們可以很理所當(dāng)然猜想到它是調(diào)用JS文件的語句。
而很多人都認(rèn)為{insert name=’cart_info’}是調(diào)用的library/cat_info.lbi文件,但是實(shí)際不是直接控制cat_info同名稱的lbi控制文件,而是由includes文件夾下的 lib_insert.php的文件中的insert_cart_info()函數(shù)控制,其實(shí)它與上面的類似,只是它掉的不是文件,而是函數(shù)返回的字符串,可以是HTML,也可以是普通字符串。
打開ECSHOP的安裝的根目錄下的includes文件夾,查找一個(gè)名為 lib_insert.php的文件。
在文件中查找“cart_info”,你會(huì)發(fā)現(xiàn)一個(gè)insert_cart_info()函數(shù),沒錯(cuò),{insert name=’cart_info’}調(diào)出來的所有內(nèi)容就是該函數(shù)的返回值。
注意它的函數(shù)名的命名規(guī)則是 “insert_” + 函數(shù)后綴名,這樣在模板中調(diào)用時(shí)就可以用{insert name=’函數(shù)后綴名’}的方式調(diào)用函數(shù)的返回值了。
知道了這些。我們就可以在此文件中定義自己的函數(shù),在模板中通過類似的方式調(diào)用就可以了。
這個(gè)動(dòng)態(tài)的調(diào)用功能很方便,因?yàn)槲抑灰叶x了函數(shù),就可以在任何模板中調(diào)用該函數(shù)的返回值,就不用在去找該模板對(duì)應(yīng)的PHP文件了,而且刪除的話直接在模板里刪掉就可以了,不會(huì)造成資源的浪費(fèi)。
新聞熱點(diǎn)
疑難解答
圖片精選