让DEDECMS的list标签支持weight排序

在放大镜下,你可以看到每一片雪花都是一幅幅精美的图案:有的是晶莹的薄片,有的像白亮的银针,有的像一把张开的小扇,有的像夜空的星星……

DEDECMS系统支持文档权重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}

本文让DEDECMS的list标签支持weight排序到此结束。既然已回不到过去、还不如想想自己的未来。小编再次感谢大家对我们的支持!

标签: DEDECMS list