新聞中心
dedecms產(chǎn)品欄目調(diào)取子欄目錯亂的解決方法
作者 / 無憂主機 時間 2017-10-24 20:13:40
無憂主機小編這段時間遇見的程序怪事還是蠻多的,反正就是不知道是啥原因,就是因為不知道是什么原因只能是靠方法進行實現(xiàn),但是無憂主機小編這次發(fā)現(xiàn)的問題確實是怪的一種,歸根到底就是由于代碼的不規(guī)范導(dǎo)致的或者是標(biāo)簽的寫法問題,但是無憂主機小編這次的問題就應(yīng)該是這個問題,這位朋友的dedecms源碼程序在php空間里面已經(jīng)運行了一年多了,但是朋友在后臺自己更新文章的時候,突然發(fā)現(xiàn)欄目錯亂,這個的意思是什么呢?比如說xxx欄目下沒有子欄目,而這個欄目確出現(xiàn)了其他的子欄目,所以說很奇怪,經(jīng)過無憂主機小編數(shù)分鐘的調(diào)式,終于解決了這個問題,接下來無憂主機小編就把這個問題就給討論一下。 首先我們查看一下這位朋友產(chǎn)品欄目調(diào)用的代碼:
{dede:channelArtlist typeid='3' } <li> {dede:type} <a style='font-size:14px;color:#D1D8E3;' href="[field:typelink /]"><b>[field:typename /]</b></a> {/dede:type}</li> {dede:channel type='son' noself='yes'} <li> <a style='font-size:12px;color:#FF9224;' href='[field:typelink /]'>[field:typename/]</a></li> {/dede:channel} {/dede:channelArtlist}從這樣的看上去其實并沒有多大的問題,但是更新出來的就不一樣了。這里的解決方法就是把子欄目的{dede:channel}標(biāo)簽換成{dede:sql}標(biāo)簽來代替使用。這個要怎么使用呢? 首先是把 {dede:channel} 換成換成 {dede:sql} 標(biāo)簽,也就是換成
{dede:sql sql='Select * from dede_arctype where reid=~id~ and ishidden != 1 ORDER BY id limit 0,20'}然后結(jié)尾 {/dede:sql} 其中還需要把 href='[field:typelink /]' 更換為: href="[field:typedir function='str_replace("{cmspath}","",@me)'/]" 這樣就完美的解決了,那么完整的修改代碼為:
{dede:channelArtlist typeid='3' } <li> {dede:type} <a style='font-size:14px;color:#D1D8E3;' href="[field:typelink /]"><b>[field:typename /]</b></a> {/dede:type} </li> {dede:sql sql='Select * from dede_arctype where reid=~id~ and ishidden != 1 ORDER BY id limit 0,20'} <li> <a style='font-size:12px;color:#FF9224;' href="[field:typedir function='str_replace("{cmspath}","",@me)'/]"> [field:typename/] </a> </li> {/dede:sql} {/dede:channelArtlist}這里需要注意到的是要把這個sql語句中dede_arctype中的前綴dede修改為您的表前綴,您的表前綴的查看方法就不用無憂主機小編多說了,如果這個都不會進行查看的話,建議不要進行操作,您聯(lián)系懂php程序的朋友進行幫您修改,或者會做dedecms建站的朋友即可。無憂主機小編說出的這個問題就這么簡單的解決了。
本文地址:http://www.gle-technology.com/dedecms/25480.html