dede的list标签支持weight排序

{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/]<br/> {/dede:arclist} 

其中的orderby='weight'就实现了文档按照权重排序了。这是arclist标签,可以用在任何位置来调用文档列表.

然而,在栏目列表页,如果你要使用list标签(实现文档列表分页),也想用权重(weight)排序,

{dede:list pagesize='10' titlelen='50' orderby='weight'} •[field:textlink/]<br/> {/dede:list} 

你会发现,你的列表并没有按照权重(weight)排序,无论你怎么修改,它的顺序就还是老样子!

原因:dedecms对权重weight排序的支持仅arclist标签,并不支持list标签

解决办法:

1、打开文件arc.listview.class.php

2、查找“else if($orderby=="lastpost") {” 语句,大概在609行,在此行前面按下回车健,插入如下语句:

else if($orderby=="weight") {     $ordersql = " order by arc.weight $orderWay"; } 

3、继续查找“if(ereg('hot|click|lastpost',$orderby))”语句,修改为:

if(ereg('hot|click|weight|lastpost',$orderby)) 

修改完成后,保存,如果目标里面已经使用了weight排序,生成一下,就可以看到,文档列表已经安装weight排序 

4、模板调用

 

{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/]<br/> {/dede:arclist} 

-------------------------------------------------------华丽的分割线----------------------------------------------------------

后记:

权重越小越靠前

orderway="asc":

{dede:list pagesize='10' orderby='weight' orderway='asc' } •[field:textlink/]<br/> {/dede:list} 

要实现越重越大越靠前,只需要将上述代码中的“orderway='asc'”去掉就可以了。

究其深层原因,是arc.listview.class.php文件中:

$imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$innertext="",$tablewidth="100",$ismake=1,$orderWay='desc') 

默认排序方式是降序排列,而非升序,考虑其它常用排序,如puddate等,此处不要修改的好。


转自:http://hi.baidu.com/shanjixiaboss/item/6bb52107920acbd6dce5b06a




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值