織夢文章按權重排序的方法(正序 倒序均可)

2021-08-10 07:42:36 字數 3142 閱讀 4825

首先要記住權重排序的標籤是:orderby=『weight』

dede 5.7 首頁【arclist】增加按權重排序

在織夢系統中找到以下目錄\include\taglib中的arclist.lib.php檔案並開啟;

大約在170行找到

$innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='n')
把這裡的$isweight='n'改為$isweight='y'

大約在340行上面找到

//文件排序的方式

$ordersql = '';

if($orderby=='hot' || $orderby=='click') $ordersql = " order by arc.click $orderway";

else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " order by arc.sortrank $orderway";

else if($orderby == 'id') $ordersql = " order by arc.id $orderway";

else if($orderby == 'near') $ordersql = " order by abs(arc.id - ".$arcid.")";

else if($orderby == 'lastpost') $ordersql = " order by arc.lastpost $orderway";

else if($orderby == 'scores') $ordersql = " order by arc.scores $orderway";

//功能:增加按好評數和差評數呼叫

else if($orderby == 'goodpost') $ordersql = " order by arc.goodpost $orderway";

else if($orderby == 'badpost') $ordersql = " order by arc.badpost $orderway";

else if($orderby == 'rand') $ordersql = " order by rand()";

else $ordersql = " order by arc.sortrank $orderway";

改為

//文件排序的方式

$ordersql = '';

if($orderby=='hot' || $orderby=='click') $ordersql = " order by arc.click $orderway";

else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " order by arc.sortrank $orderway";

else if($orderby == 'id') $ordersql = " order by arc.id $orderway";

else if($orderby == 'near') $ordersql = " order by abs(arc.id - ".$arcid.")";

else if($orderby == 'lastpost') $ordersql = " order by arc.lastpost $orderway";

else if($orderby == 'scores') $ordersql = " order by arc.scores $orderway";

else if($orderby == 'rand') $ordersql = " order by rand()";

else if($orderby == 'weight') $ordersql = " order by arc.weight asc";//如果沒有特定設定排序則按照權重先排序

else $ordersql = " order by arc.sortrank $orderway";

然後我們就可以在首頁使用orderby='weight』進行排序了

列表頁使用orderby='weight』

如果列表頁(即list標籤)也想使用該種排序,還需要修改arc.listview.class.php檔案,該檔案在include目錄下:

第一步:先找到:

//排序方式

$ordersql = '';

if($orderby=="senddate" || $orderby=="id")

else if($orderby=="hot" || $orderby=="click")

else if($orderby=="lastpost")

else

改為

//排序方式

$ordersql = '';

if($orderby=="senddate" || $orderby=="id")

else if($orderby=="hot" || $orderby=="click")

else if($orderby=="lastpost")

else if($orderby == "weight")

else

第二步:搜尋「if(preg_match('/hot|click|lastpost/', $orderby))」,位置大概在812行,在該句的lastpost後加上「|weight」,即「if(preg_match('/hot|click|lastpost|weight/', $orderby))」,到此arc.listview.class.php檔案就修改完了

如何倒序

列表頁因為有第一篇文章顯示在最後一位的特性,所以我們可能會使用倒序排列才能讓想要顯示的文章在最前面,那麼標籤應該這樣寫「

織夢文章按權重排序終級解決方案

織夢預設情況下是沒有開啟weight排序的需要修改arclist.lib.php 1 在織夢系統中找到以下目錄 include taglib中的arclist.lib.php檔案並開啟 大約在74 75行找到 arclist是否需要weight排序,預設為 n 如果需要排序則設定為 y isweig...

dedecms 文章按權重排序

參考 但是當我們在dede arclist標籤中使用orderby weight 來排序時,發現文章顯示並沒有起作用。我們在include taglib arclist.lib.php 開啟來看一下 在 的第74 75行,我們發現 isweight預設為n,所以我們在使用orderby weight...

織夢 後台 權重 排序 不生效

織夢 後台 權重 排序 不生效 1.dede album edit.php 152行到172行 加入 weight weight 2.include arc.listview.class.php 查詢 else if orderby lastpost 大概在768行 在下面補充 else if or...