zoukankan      html  css  js  c++  java
  • 让dedecms(织梦)的list标签支持weight排序

    DEDECMS(织梦)5.6系统支持文档权重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等,此处不要修改的好。

  • 相关阅读:
    React组件二
    React组件一
    React新接触
    清除浮动的方法
    div section article aside的理解
    html引入外部的jswenjian
    绘制扇形,空心文字,实心文字,颜色线性 放射性渐变
    绘制扇形空心 实心文字 ,颜色线性渐变,颜色放射性渐变
    绘制圆弧的几种简单方法
    求两个有序数组的中位数
  • 原文地址:https://www.cnblogs.com/freespider/p/2033982.html
Copyright © 2011-2022 走看看