|
寫過ecshop模板的人都曉得,他們是用所謂的dwt的文件來嵌套lbi文件進行模板的彼此調(diào)用。在咱們調(diào)取數(shù)據(jù)的時分,ecshop的默許模板只提供給咱們幾個簡略的句子進行調(diào)用,那么有沒有辦法能夠把這個精簡的cls_template類添加其他的句子呢?
首要斷定版別:ECShop v2.7.3 通過近一天對ecshop程序的研討,發(fā)現(xiàn)這個所謂的cls_template類,其實是一個精簡版的smarty,而且值得幸虧的是,這個cls_template類沒有包括其他的文件。那么咱們完全能夠?qū)⒐俜絪marty直接拿來用。斷定了這一點,剩余的就是看ECShop在哪里運用這個cls_template類了。 翻開index.php,咱們發(fā)現(xiàn)他里邊有這樣一句話:
所以咱們找到這個文件,找到創(chuàng)立的那個cls_template類,代碼如下:
這里發(fā)現(xiàn)他們創(chuàng)立了一個smarty的一個目標(biāo),其實咱們寫的模板中一切能用的標(biāo)簽都是用這個的。 我這里不說廢話了,直接給辦法了。 仿制一份init.php 為 init_x.php ,在根目錄的 index.php 中,將:
改為:
即可。原因是還有其他地方運用了init.php,直接修正的話,會形成不行預(yù)知的成果。 如今去官方下載一個smarty模板,這里用的是2.6的版別(3.1的版別試過,有錯。估量ecshop其時用的是2.6兼容的,別問我為啥。),放在include的文件夾里,而且在init_x.php中包括當(dāng)時的原生smarty類而且用Smarty類交換之前的cls_template類,代碼如下:
這里注重途徑和類名的修正。還有就是細心查看smarty類需求的那幾個變量和路近能否都存在。 持續(xù)往下查看:
看這一段,查看smarty類里能否存在這幾個變量,沒有就刪掉。 斷定無誤后,能夠回到根目錄的index.php文件上了。 之前,咱們將init.php 換成了init_x.php,這僅僅第一步。下面咱們要持續(xù)修正模板,將一切的dwt文件換成tpl文件(回憶中是兩處)。 如今進入themes文件夾,將index.dwt文件修正為index.tpl文件。 如今咱們來翻開debug,看看能不能進行smarty調(diào)試,并運用其他的smarty標(biāo)簽了。(這里闡明一下,smarty文件夾需求有可運轉(zhuǎn)的權(quán)限。) 還記住剛剛你屏蔽的那兩行smarty不存在的變量么?那個是調(diào)試。咱們細心對照發(fā)現(xiàn),2.6的smarty調(diào)試的變量名稱為debuging。 咱們將方才:
中的direct_output,修正為debuging,而且改為true就能夠彈出smarty官方的調(diào)試窗口了 |
|
|