查看完整版本: [-- dede:arclist标签按自定义字段排序 --]

DedeCMS网站内容管理系统官方论坛 -> PHP开发/讨论 -> dede:arclist标签按自定义字段排序 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

pagerank 2009-08-24 15:40

dede:arclist标签按自定义字段排序

标签dede:arclist的排序是通过orderby来指定的,如下:
{dede:arclist orderby='排序字段' }

{/dede:arclist}
orderby='sortrank' 文档排序方式
§ orderby='hot' 或 orderby='click' 表示按点击数排列
§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
§ orderby='near'
§ orderby=='lastpost' 按最后评论时间
§ orderby=='scores' 按得分排序
§ orderby='id' 按文章ID排序
§ orderby='rand' 随机获得指定条件的文档列表
而能给orderby赋值的只能是上面列出的值,也就是说dede:arclist 标签只能按照上面列出的字段排序。
那怎样才能按照自定义的字段排序呢?假如我现在在dede_archives表里面添加了一个字段NewField,
我想按照这个字段排序。直接这样写:{dede:arclist orderby='NewField' }是不行的。那应该怎样修改?
修改文件include/arc.listview.class.php,参考附件arc.listview.class.php(版本5.5utf8),修改如下:
1、在第560行至562行处添加如下代码:
else if($orderby=="NewField") {
$ordersql = " order by arc.NewField $orderWay";
}


2、修改603行代码,修改如下:
if(ereg('hot|click|lastpost|NewField',$orderby))

上面的修改在5.5utf8版本通过,其他版本类似。
在此要感谢版主nichelous的指导,人品和技术都很好!



nichelous 2009-08-24 23:00
呵呵,既然你这样说我,我就给你加3分吧,本来只想加2分的~~~~

zhangyanyou 2009-09-04 15:45
动态列表怎么排序啊??????????

pagerank 2009-09-08 11:49
你说的动态列表是不是按照某个字段动态排序?

cyh75200 2009-09-25 13:55
请问我要在专题里针对文章自由排序是否能实现??

pagerank 2009-09-26 09:42
应该是可以的

uirain 2009-10-03 11:12
还是不错的介绍,收藏了

雪幕天涯 2009-11-05 09:02
做个标记  

apache9116 2009-11-16 17:02
做个标记   

manhill 2009-11-19 13:42
记号 记号

菜鸟桦仔 2009-11-23 13:23
这个排序是按照什么模式的呢?例如呢?请详细说明一下.

pagerank 2009-11-23 22:48
dede的标签默认不能按照所有的字段排序,只能按照它规定的,也是比较常用的字段排序,通过这样的修改就可以按照需要的(但dede标签原来不支持的)字段排序

chyoqin2 2009-11-28 20:20
如果这个排序是在dede:list标签,又要怎么改呢?

chyoqin2 2009-11-28 21:53
_archives表里面添加了一个字段NewField后,怎么往里添加内容呀?

pagerank 2009-11-30 11:40
引用
引用第12楼chyoqin2于2009-11-28 20:20发表的  :
如果这个排序是在dede:list标签,又要怎么改呢?

方法应该差不多,自己摸索一下,我也没尝试过

残念 2009-12-02 23:28
很有用。收藏了!!!

hell 2009-12-13 12:08
不错,这个要用

车行西部 2009-12-25 23:32

逍遥老鬼 2010-01-15 17:12
在后台修改内容模型的字段管理那里添加字段
是不是不是往archives里添加字段

逍遥老鬼 2010-01-15 17:13
我按照楼主写的方法改了,后台修改了,但是发现archives这个表里面没有我需要的那个字段……

逍遥老鬼 2010-01-15 17:20
刚才看了下,原来后台加入的字段都加到附加表里面了……怎么把需要的附加表里面的
排序的依据字段,加到主表

pagerank 2010-01-17 09:48
字段要加到主表里面,加到附加表怎样处理我还没研究

liujin834 2010-01-17 13:22
牛,我每次都是加else if,比较麻烦,这个方便了很多

火盾网络 2010-02-01 02:24
支持一个

pagerank 2010-02-02 17:33
多谢支持!

xiechunye 2010-02-04 15:25
做个标记

hwy30 2010-02-05 09:51
有帮助,谢谢

mwmusic 2010-02-05 16:19
很不错~收藏

hkymo 2010-03-05 15:05

合肥广告网 2010-03-16 20:58
还是不错的介绍,收藏了

woaidede123 2010-04-17 08:18
很不错。。。。。。

zm888 2010-04-17 08:21
不错 值得收藏

pagerank 2010-05-11 14:18
很实用

marslyk 2010-05-18 22:17
字段都加到附加表里了,排不了序啊,怎样解决?

pagerank 2010-05-19 14:31
原理应该是差不多的,附加表里面的字段我没有做

bombompar 2010-05-28 19:19
用户被禁言,该主题自动屏蔽!

sodao 2010-06-09 13:35
怎么在主表里面添加新字段呢?

pagerank 2010-06-11 08:02
直接在数据库里面添加,或者在dede后台执行sql语句

dansui1314 2010-06-13 23:57
那怎样才能按照自定义的字段排序呢?假如我现在在dede_archives表里面添加了一个字段NewField,
我想按照这个字段排序。直接这样写:{dede:arclist orderby='NewField' }是不行的。那应该怎样修改?


》》》》》》》》》》》》》》》》》》》》》》》》


那么如果是附加表呢?我想按照附加表的某个字段来排序,按你的方法试过了不行。。。求解,谢谢

yinshulin 2010-06-14 14:12
这个应该是不能用的

taobooa 2010-06-21 22:52
挺好

sgsl06 2010-07-14 17:08
做个标记先, 便与以后看

一壶酒 2010-07-25 15:30
标记标记标记标记标记标记标记标记

phpstyle 2010-07-27 09:46
这个一定要顶的。很实用的功能


查看完整版本: [-- dede:arclist标签按自定义字段排序 --] [-- top --]



Powered by PHPWind v7.5 SP3 Code ©2003-2010 PHPWind
Gzip enabled

You can contact us