dede:arclist 標(biāo)簽排序具體實(shí)現(xiàn)

字號(hào):


    標(biāo)簽dede:arclist的排序是通過orderby來指定的,如下:
    {dede:arclist orderby='排序字段' }
    {/dede:arclist}
    orderby='sortrank' 文檔排序方式
    § orderby='hot' 或 orderby='click' 表示按點(diǎn)擊數(shù)排列
    § orderby='sortrank' 或 orderby='pubdate' 按出版時(shí)間排列
    § orderby='near'
    § orderby=='lastpost' 按最后評(píng)論時(shí)間
    § orderby=='scores' 按得分排序
    § orderby='id' 按文章id排序
    § orderby='rand' 隨機(jī)獲得指定條件的文檔列表
    而能給orderby賦值的只能是上面列出的值,也就是說dede:arclist 標(biāo)簽只能按照上面列出的字段排序。
    那怎樣才能按照自定義的字段排序呢?假如我現(xiàn)在在dede_archives表里面添加了一個(gè)字段newfield,
    我想按照這個(gè)字段排序。直接這樣寫:{dede:arclist orderby='newfield' }是不行的。那應(yīng)該怎樣修改?
    修改文件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/]