當我們想把清單頁的文章依照我們指定規律排序的時候,往往都需要自己修改程式碼來實作。如果只是想把單獨某篇或某幾篇文章排在前面的話,那麼可以在程式碼中先調用一篇或幾篇帶推薦屬性的文章,剩下內容再調用不帶推薦屬性的文章,預設按時間排序即可。但是我們有大量文章需要排在指定位置時,需要怎麼處理呢?最好的方法就是設定成按權重排序。以下跟大家分享dedecms文章列表頁如何實作按權重排序的方法。
dede:list按權重排序的方法:
找到"根目錄\include\arc.listview.class.php"檔案。
修改程式碼:在檔案第727行處新增如下按weight排序判斷程式碼:
再在第778行處找到此段程式碼if(preg_match('/hot|click|lastpost/', $orderby)) ,新增|weight/部分。
標籤呼叫:{dede:list orderby='weight' orderway='asc'},這樣{dede:list}標籤就實作了以權重排序的呼叫。
dede:arclist依權重排序的方法:
在74 、75行找到以下程式碼:
// arclist是否需要weight排序,預設為"N",如果需要排序則設定為"Y" $isweight = $ctag->GetAtt('isweight');
把這行修改為:
$weight = $ctag->GetAtt('weight');
在327行插入下面這行程式碼:
else if($orderby == 'weight') $ordersql = " order by arc.weight asc";
標籤呼叫:{dede:arclist orderby='weight'},這樣{dede:arclist}標籤就實作了依權重排序的呼叫。
更多DedeCMS相關技術文章,請造訪DedeCMS教學欄位學習!
以上是dedecms文章列表頁如何實現按權重排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!