织梦栏目列表按附加表自定义字段排序,不是主表字段排序
例如,我在内容模型-普通文章模型里添加了个自定义字段 ,叫 【价格】【price】
我想在栏目列表模板里按价格高的排序显示
- {dede:list pagesize='6' orderby='price' orderway='desc'}
orderby='price' 按价格排序
orderway='desc' 从高到低,如果想从低到高用 orderway='asc'
实现教程
打开 /include/arc.listview.class.php 找到,大概在776行左右
- $addtable = $this->ChannelUnit->ChannelInfos['addtable'];
把它剪切到
- //排序方式
继续找到,大概在768行的
- else if($orderby=="lastpost") {
在它上面加入你的排序字段
- else if($orderby=="price") {
- $ordersql = " ORDER BY ({$addtable}.price + 0) $orderWay";
- }
如图,2个price改成你自己的字段名
最后找到,大概在812行左右
- if(preg_match('/hot|click|lastpost/', $orderby))
改成
- if(preg_match('/hot|click|lastpost|price/', $orderby))
price 改成你自己的字段,注意前面要有 | 竖线隔开
完成,最终效果如下图:
织梦程序转到精简版转换操作教程实现安全加固
下一篇DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php