Ecshop商品詳情一會(huì)顯示一會(huì)不顯示,很讓人蛋疼的一個(gè)詭異問題。
Ecshop二次開發(fā)的時(shí)候碰到個(gè)奇怪的問題,那就是在購買商品提交訂單之后查看商品詳情頁面發(fā)現(xiàn)商品的詳情參數(shù)都不見了,只剩下商品名稱,其他的商品貨號(hào),上架時(shí)間,本店售價(jià)都不顯示了。然后進(jìn)后臺(tái)管理中心清空緩存后又恢復(fù)正常,再次提交訂單又不顯示了,無限糾結(jié)外加蛋疼中。
初步預(yù)測(cè)原因出在goods.dwt或者flow.dwt文件中。只能挨著試試了,恢復(fù)默認(rèn)模板之后發(fā)現(xiàn)與flow.dwt無關(guān),而回復(fù)goods.dwt的默認(rèn)模板之后再次提交訂單發(fā)現(xiàn)正常無問題了。然后就從goods.dwt開刀。經(jīng)過反復(fù)測(cè)試,最終發(fā)現(xiàn)問題出在自己左側(cè)自定義的top商品和hot商品這里。經(jīng)過仔細(xì)思考之后發(fā)覺最可能的原因就是這部分的代碼和中間商品詳情部分的代碼沖突了。
果然如此,其實(shí)是左側(cè)的代碼中使用的smarty實(shí)例化的對(duì)象中,item都使用了goods這個(gè)參數(shù),結(jié)果可想而知,左側(cè)是一個(gè)數(shù)組,右側(cè)是一個(gè)實(shí)際數(shù)據(jù),當(dāng)然也就無法輸出了。解決方法很簡單,那就修改左側(cè)的item名稱即可。例如這里我的修改方法為,將
<ul class="topsale-list" id="c101"> <!-- {foreach name=best_goods from=$best_goods item=goods}--> {if $smarty.foreach.best_goods.index <= 4} <li> <a href="{$goods.url}"> ...修改為
<ul class="topsale-list" id="c101"> <!-- {foreach name=best_goods from=$best_goods item=bgoods}--> {if $smarty.foreach.best_goods.index <= 4} <li> <a href="{$bgoods.url}"> ...這樣,參數(shù)就不會(huì)產(chǎn)生沖突了,問題解決,歡迎拍磚。
|
新聞熱點(diǎn)
疑難解答