dedecms5.7版本中我們在發(fā)表文章的時候可以看見有個權(quán)重值,但是很多人用orderby='weight'調(diào)用的時候卻不起作用。這是為什么呢?下面給大家講講解決方法。
1、我們在使用dedecms發(fā)部文章的時候,經(jīng)常希望文章可以按我們的需求來進(jìn)行排序。這個時候就需要用到文章的權(quán)重值了,如下圖所示:
2、但是當(dāng)我們在dede:arclist標(biāo)簽中使用orderby='weight'來排序時,發(fā)現(xiàn)文章顯示并沒有起作用。我們在include\taglib下找到文件arclist.lib.php 打開來看一下代碼。
3、在代碼的第74-75行,我們發(fā)現(xiàn)$isweight默認(rèn)為N,所以我們在使用orderby='weight' 時需要在前面加上 isweight="Y" 來開啟權(quán)重的使用。也可以加上orderway='asc'或orderway='desc'來限定排序的方式是升序還是降序
4、好的這樣改了之后dede:arclist中就可以按權(quán)重來排序了。但是我們在欄目列表頁使用dede:list還是無法按權(quán)限排序。這是因?yàn)?dede:list標(biāo)簽并為加入按weight排序的方法。我們在include下面找到arc.listview.class.php打開
5、我們搜索關(guān)鍵字“排序方式”,找到如下代碼段,一般在727行左右。然后加入下圖綠框里面的代碼。即:
else if($orderby == "weight") {
$ordersql = " order by arc.weight $orderWay";
}
6、接著我們往下拉找到下面代碼段,加了剛才的代碼之后大概在779行左右。在lastpost后面加上weight,如下圖所示。
7、好的,現(xiàn)在就可以在dede:list標(biāo)簽中使用權(quán)重來排序了,具體調(diào)用代碼如下圖: