當我們想把列表頁的文章按照我們指定規律排序的時候,往往都需要自己修改代碼來實現。如果只是想把單獨某篇或者某幾篇文章排在前面的話,那么可以在代碼中?先調用一篇或者幾篇帶推薦屬性的文章,剩下內容再調用不帶推薦屬性的文章,默認按時間排序即可。但是我們有大量文章需要排在指定位置時,需要怎么處理呢?最好的方法就是設置成按權重排序。下面給大家分享一下dedecms文章列表頁如何實現按權重排序的方法。
dede:list按權重排序的方法:
找到”根目錄includearc.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教程欄目進行學習!