dede:arclist 標簽排序具體實現(xiàn)

字號:


    標簽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/]