首頁  >  文章  >  CMS教程  >  dedecms文章列表頁如何實現按權重排序

dedecms文章列表頁如何實現按權重排序

尚
原創
2019-07-20 13:10:232104瀏覽

dedecms文章列表頁如何實現按權重排序

當我們想把清單頁的文章依照我們指定規律排序的時候,往往都需要自己修改程式碼來實作。如果只是想把單獨某篇或某幾篇文章排在前面的話,那麼可以在程式碼中‍先調用一篇或幾篇帶推薦屬性的文章,剩下內容再調用不帶推薦屬性的文章,預設按時間排序即可。但是我們有大量文章需要排在指定位置時,需要怎麼處理呢?最好的方法就是設定成按權重排序。以下跟大家分享dedecms文章列表頁如何實作按權重排序的方法。

dede:list按權重排序的方法:

找到"根目錄\include\arc.listview.class.php"檔案。

dedecms文章列表頁如何實現按權重排序

修改程式碼:在檔案第727行處新增如下按weight排序判斷程式碼:

dedecms文章列表頁如何實現按權重排序

再在第778行處找到此段程式碼if(preg_match('/hot|click|lastpost/', $orderby)) ,新增|weight/部分。

dedecms文章列表頁如何實現按權重排序

標籤呼叫:{dede:list orderby='weight' orderway='asc'},這樣{dede:list}標籤就實作了以權重排序的呼叫。

dedecms文章列表頁如何實現按權重排序

dede:arclist依權重排序的方法:

dedecms文章列表頁如何實現按權重排序

在74 、75行找到以下程式碼:

 // arclist是否需要weight排序,預設為"N",如果需要排序則設定為"Y"     $isweight = $ctag->GetAtt('isweight');

把這行修改為:

 $weight = $ctag->GetAtt('weight');

dedecms文章列表頁如何實現按權重排序

在327行插入下面這行程式碼:

     else if($orderby == 'weight') $ordersql = "  order by arc.weight asc";

dedecms文章列表頁如何實現按權重排序

標籤呼叫:{dede:arclist orderby='weight'},這樣{dede:arclist}標籤就實作了依權重排序的呼叫。

dedecms文章列表頁如何實現按權重排序

更多DedeCMS相關技術文章,請造訪DedeCMS教學欄位學習!

以上是dedecms文章列表頁如何實現按權重排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn