這篇文章主要介紹解織夢(mèng)dedecms使用weight排序無(wú)效的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
10年積累的成都網(wǎng)站建設(shè)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有蒲江縣免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
織夢(mèng)dedecms使用weight排序無(wú)效怎么辦?
本文實(shí)例講述了織夢(mèng)dedecms使用weight排序無(wú)效的解決方法。分享給大家供大家參考。具體方法如下:
推薦學(xué)習(xí):織夢(mèng)cms
dedecms5.7針對(duì)weight排序是有bug的,這里就來(lái)一步步告訴大家如何解決weight無(wú)效的解決辦法。
涉及的文件是includetaglibarclist.lib.php文件,在第570行左右:
代碼如下:
if ( $isweight=='y')
這一行代碼簡(jiǎn)直是廢柴,
代碼如下:
$orderWeight = list_sort_by($orderWeight,'weight', 'asc');
對(duì)結(jié)果進(jìn)行排序,這個(gè)是有問(wèn)題的,因?yàn)樵诘玫竭@個(gè)$orderWeight之前,檢索文檔表的語(yǔ)句為:
代碼如下:
SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule, tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id WHERE arc.typeid IN (29) AND arc.arcrank > -1 ORDER BY arc.sortrank DESC
很明顯了吧,我們?cè)趯憳?biāo)簽的時(shí)候,寫的是:
代碼如下:
{dede:arclist orderby='weight' typeid='29' isweight='y' limit='4,1' titlelen='100' infolen='100' }
本意是數(shù)據(jù)按照weight進(jìn)行排序,而處理程序是按照sortrank 檢索的數(shù)據(jù)庫(kù),指定 isweight='y' 僅僅是起到了將檢索出的數(shù)據(jù)集再根據(jù)weight排序。
所以處理辦法非常簡(jiǎn)單:在該程序文件330行處,增加一行按照weight排序的處理語(yǔ)句:
代碼如下:
else if($orderby =='weight') $ordersql = " order by arc.weight asc";
我們?cè)俜蛛x一個(gè)讓list標(biāo)簽支持weight排序:
代碼如下:
{dede:list pagesize='10' titlelen='50' orderby='weight'} ?[field:textlink/]
{/dede:list}
解決方法:
1、打開文件arc.listview.class.php
2、查找
代碼如下:
else if($orderby=="lastpost") {
語(yǔ)句,大概在609行,在此行前面按下回車健,插入如下語(yǔ)句:
代碼如下:
else if($orderby=="weight") { $ordersql = " order by arc.weight $orderWay"; }
3、繼續(xù)查找
代碼如下
if(ereg('hot|click|lastpost',$orderby))
語(yǔ)句,修改為:
代碼如下:
if(ereg('hot|click|weight|lastpost',$orderby))
修改完成后,保存,如果目標(biāo)里面已經(jīng)使用了weight排序,生成一下,就可以看到,文檔列表已經(jīng)安裝weight排序
4、模板調(diào)用:
代碼如下:
{dede:arclist row='10' titlelen='50' orderby='weight'} ?[field:textlink/]
{/dede:arclist}
以上是解織夢(mèng)dedecms使用weight排序無(wú)效的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!