dedecms 5.7版本已增加按权重排序功能:

【arclist】标签增加按权重排序,在后台管理DEDE里找到以下目录\include\taglib中的arclist.lib.php文件并打开

大约在74 、75行找到:

// arclist是否需要weight排序,默认为”N”,如果需要排序则设置为”Y”

$isweight = $ctag->GetAtt(‘isweight’);

从这里可以看出,新版本增加了一个布尔变量,直接在模板标签里加入isweight='Y'     即可!

首页中调用:

首页中采用 {dede:arclist  }标签,调用方法如下

{dede:arclist typeid=50 isweight='Y' }

栏目页调用:

栏目页采用{dede:list}标签,调用方法如下

{dede:list orderby='weight' orderway='asc'}

参考来源

http://blog.sina.com.cn/s/blog_6797a67001015ae5.html

一、dedecms v5.6列表页标签{dede:list增加按权重排序标签

dedecms v5.6版本已经中已经添加权重字段,并且在{dede:arclist标签中默认可以使用。但在列表页的标签 {dede:list中是还是无法按权重实现排序。其实解决方法很简单,下面给出方法:

1、在织梦系统中找到以下目录\include\taglib中的arclist.lib.php文件并打开,因为我们要从其中拷贝代码;

2、在上面打开的文件中搜索“文档排序的方式”,可以找到如下代码

else if($orderby == 'weight') $ordersql = "  order by arc.weight asc";//如果没有特定设置排序则按照权重先排序

3、拷贝这段代码,然后打开\include\目录中的arc.listview.class.php文件,搜索“排序方式”,然后在

else if($orderby=="lastpost") {
            $ordersql = "  order by arc.lastpost $orderWay";
        } 这段代码和

else {
            $ordersql=" order by arc.sortrank $orderWay";
        }

这段代码中间粘贴上刚才复制的代码。

4、向下找到if(ereg('hot|click|lastpost',$orderby))修改成if(ereg('hot|click|lastpost|weight',$orderby)) ,保存文件。

这个时候在列表页里就可以使用{dede:list pagesize='5' orderby='weight'} 进行排序了。

二、DEDE 5.7 首页【arclist】增加按权重排序

1、在织梦系统中找到以下目录\include\taglib中的arclist.lib.php文件并打开

大约在74 、75行找到:

// arclist是否需要weight排序,默认为"N",如果需要排序则设置为"Y"
    $isweight = $ctag->GetAtt('isweight');

把这行修改为:

$weight = $ctag->GetAtt('weight');

大约在327行找到

//文档排序的方式
    $ordersql = '';
    if($orderby=='hot' || $orderby=='click') $ordersql = " ORDER BY arc.click $orderWay";
    else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " ORDER BY arc.sortrank $orderWay";
    else if($orderby == 'id') $ordersql = "  ORDER BY arc.id $orderWay";
    else if($orderby == 'near') $ordersql = " ORDER BY ABS(arc.id - ".$arcid.")";
    else if($orderby == 'lastpost') $ordersql = "  ORDER BY arc.lastpost $orderWay";
    else if($orderby == 'scores') $ordersql = "  ORDER BY arc.scores $orderWay";
    else if($orderby == 'rand') $ordersql = "  ORDER BY rand()";
    else $ordersql = " ORDER BY arc.sortrank $orderWay";

修改为:

//文档排序的方式
    $ordersql = '';
    if($orderby=='hot' || $orderby=='click') $ordersql = " ORDER BY arc.click $orderWay";
    else if($orderby == 'sortrank' || $orderby=='pubdate') $ordersql = " ORDER BY arc.sortrank $orderWay";
    else if($orderby == 'id') $ordersql = "  ORDER BY arc.id $orderWay";
    else if($orderby == 'near') $ordersql = " ORDER BY ABS(arc.id - ".$arcid.")";
    else if($orderby == 'lastpost') $ordersql = "  ORDER BY arc.lastpost $orderWay";
    else if($orderby == 'scores') $ordersql = "  ORDER BY arc.scores $orderWay";
    else if($orderby == 'rand') $ordersql = "  ORDER BY rand()";
    else if($orderby == 'weight') $ordersql = "  order by arc.weight asc";//如果没有特定设置排序则按照权重先排序
    else $ordersql = " ORDER BY arc.sortrank $orderWay";

OK   现在把这个文档保存了  我们就可以在首页使用 orderby='weight' 进行排序了。

DEDECMS5.7 首页和栏目页调用文章按权重排序的更多相关文章

  1. 织梦首页、列表页调用文章body内容的两种方法

    http://blog.csdn.net/langyu1021/article/details/52261411 关于首页.列表页调用文章body内容的两种方法,具体方法如下: 第一种方法: {ded ...

  2. dedecms织梦判断当前页面是首页、栏目页还是文章页

    根据全局变量$GLOBALS['_sys_globals']['curfile']的值来判断. 首页parview:列表页listview:文章页archives 应用示例: {dede:php}if ...

  3. DedeCms 首页、列表页调用文章body内容的方法

    [第一种方法] arclist标签使用如下: {dede:arclist row='1' typeid='1' addfields='body' idlist='1' channelid='1'} [ ...

  4. dede 首页或列表页调用文章内容页body内容

    在使用dede过程,有的朋友会调调出文章的列表的内容出来,怎么调呢?当然是用dede的传参的数据查询语句了,方法如下: {dede:arclist flag=h typeid=2 row=1 titl ...

  5. dede频道页实现三级栏目嵌套调用文章

      dede频道页实现三级栏目嵌套调用文章: //支持arclist标签开始--> $typeid = $row['id']; if((class_exists('PartView'))) { ...

  6. 织梦dedecms首页、列表页、文章页文章点击浏览次数实时调用方法

    首先呢,先在根目录 /plus 目录下找到count.php  复制一份然后命名为viewclick.php(你也可以命名为你容易理解的名字)用编辑器将viewclick.php打开然后删除以下几行代 ...

  7. dede织梦栏目页和文章页中获取当前栏目名称方法

    一般情况下,在dede织梦系统中列表页.栏目页和文章页中获取当前所在栏目名称只需要代码:{dede:type}[field:typename]{/dede:type}即可,不需要定义ID,默认的就是当 ...

  8. DEDECMS首页和列表页调用单个图片集里的多张图片

    /**DEDECMS首页和列表页调用单个图片集里的多张图片 function Getimg($aid,$imgwith=110,$imgheight=110,$num=0) { global $dsq ...

  9. 更新上篇文章 调用三级目录文章内容 dede频道页实现三级栏目嵌套调用文章

    原文:http://www.wuaie.com/?p=66 源码改写 $typeid = $row['id']; if((class_exists('PartView'))) { $pv = new ...

随机推荐

  1. 函数还能这样玩儿~实现类似add(1)(2)(3)的函数

    人生的第一份前端工作找到了,感谢大神主子们给半路出家自学的我这么多的机会,很高兴正式踏上客观又乐趣满满的程序员之路,哇咔咔咔. ​ 分享一个准备面试时遇到的一个有趣的问题: 要求实现类似add(1)( ...

  2. 不同浏览器下的CSS HACK

    今天接了个新项目,年底要做完.预祝我顺利完成工作吧.在搭CSS框架的过程中,遇到了一些浏览器兼容性问题.于是就统计一下各个浏览器专用的css hack吧. (粘贴自百科百科) 针对火狐浏览器的CSS ...

  3. Android Linux自带iptables配置IP访问规则

    利用Linux自带iptables配置IP访问规则,即可做到防火墙效果

  4. IntelIoT技术笔记Java/Eclipse

    1. 获取最新版本 使用"Team sync perspective",如果想要看到全部工程的差异,选择全部工程,右键-Team-sync with Repository:将会自动 ...

  5. Bridage

    对于有两个以上的维度的对象,如下图:这张图的业务逻辑是这样的,Hayes,USR以及Emie都是上网的猫,现在有两条线路,一条是传统Dial,还有一条线路是专线,不需要拨号,这样每创建一种线路就意味着 ...

  6. classpath目录

    WEB-INF/ 是资源目录, 客户端不能直接访问, 这话是没错,不过现在的IDE编译器在编译时会把src下的文件(是文件,不是.java)移到WEB-INF/classes下.不过值得注意的是,sp ...

  7. 抓取天涯文章的蜘蛛代码,刚经过更新(因为天涯页面HTML代码变化)

    #_*_coding:utf-8-*- import urllib2 import traceback import codecs from BeautifulSoup import Beautifu ...

  8. OpenCV for c++Builder

    整理日: 20154/6 Borland C++BuilderでOpenCVを使う 確認 Turbo C++ 2007/03 1. ダウンロード&インストール http://sourcefor ...

  9. Python connect zookeeper use the kazoo module

    doc:http://kazoo.readthedocs.org/en/latest/basic_usage.html eg: from kazoo.client import KazooClient ...

  10. -AC自动机-题表

    2016-07-13 09:59:42