標(biāo)簽dede:arclist的排序是通過(guò)orderby來(lái)指定的,如下:
{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賦值的只能是上面列出的值,也就是說(shuō)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/]