標簽dede:arclist的排序是通過orderby來指定的,如下:
{dede:arclist orderby='排序字段' }
{/dede:arclist}
orderby='sortrank' 文檔排序方式
§ orderby='hot' 或 orderby='click' 表示按點擊數(shù)排列
§ orderby='sortrank' 或 orderby='pubdate' 按出版時間排列
§ orderby='near'
§ orderby=='lastpost' 按最后評論時間
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章id排序
§ orderby='rand' 隨機獲得指定條件的文檔列表
而能給orderby賦值的只能是上面列出的值,也就是說dede:arclist 標簽只能按照上面列出的字段排序。
那怎樣才能按照自定義的字段排序呢?假如我現(xiàn)在在dede_archives表里面添加了一個字段newfield,
我想按照這個字段排序。直接這樣寫:{dede:arclist orderby='newfield' }是不行的。那應該怎樣修改?
修改文件include/arc.listview.class.php,參考附件arc.listview.class.php(版本5.5utf8),修改如下:
在第560行至562行處添加如下代碼:
else if($orderby==newfield) {
$ordersql = order by arc.newfield $orderway;
[field:global name=autoindex/]