织梦list文章列表按权重排序
织梦的文章列表按权重排序
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标签,因此,就开始了对dedecms织梦系统的改造,让它支持list标签权 重 weight排序,改造的文件主要是include目录下的arc.listview.class.php文件,打开文件,查找 “else if($orderby==”lastpost”) {”语句,大概在726行,在此行前面按下回车健,插入如下语句:
else if($orderby=="weight") {$ordersql = " order by arc.weight $orderWay"; }
成为这样:
//排序方式
$ordersql = '';
if($orderby=="senddate" || $orderby=="id") {
$ordersql=" order by arc.id $orderWay";
}
else if($orderby=="hot" || $orderby=="click") {
$ordersql = " order by arc.click $orderWay";
}
else if($orderby=="lastpost") {
$ordersql = " order by arc.lastpost $orderWay";
}
else if($orderby=="weight") {
$ordersql = " order by arc.weight $orderWay";
}
else {
$ordersql=" order by arc.sortrank $orderWay";
}
继续查找:
if(ereg('hot|click|lastpost',$orderby))
语句,修改为:
if(ereg('hot|click|weight|lastpost',$orderby))
修改完成后,保存,如果目标里面已经使用了weight排序,生成一下,就可以看到,文档列表已经安装weight排序
后记:进行了上面的修改,可以实现按照权重weight排序,但是,如果不在模板中写明orderway=”asc”,无法实现权重越小越靠前,
解决方案1:
{dede:list pagesize='10' orderby='weight' orderway='asc'} ?[field:textlink/]<br/> {/dede:list}
要实现越重越大越靠前,只需要将上述代码中的“orderway=’asc’”去掉就可以了。
究其深层原因,是arc.listview.class.php文件中,693行:
$imgwidth=120,$imgheight=90,$listtype="all",$orderby="default",$innertext="",$tablewidth="100",$ismake=1,$orderWay='desc')
默认排序方式是降序排列,而非升序,考虑其它常用排序,如puddate等,此处不要修改的好。
注:arclist有这些排序功能,但没有分页功能,{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}在arclist标签下只能输出共有多少条数据,没有分页符,所以必须用到list,list下分页功能很强大哦……
织梦list文章列表按权重排序的更多相关文章
- 织梦dede文章列表调用标签的用法和规则
织梦dede列表标签在任何模板的网站中都可能会使用到,而且我们在仿站的时候也经常要使用到列表标签.这里主机吧就给大家讲一下文章列表以及图片列表.软件列表以及分类信息列表标签的用法,和结合div+css ...
- 织梦 {dede:list}列表按多种排序显示
orderby='sortrank' 文档排序方式 orderby='hot' 或 orderby='click' 表示按点击数排列 orderby='sortrank' 或 orderby='pub ...
- 织梦DEDE文章列表前面自动加递增数字标签
实现的办法很简单,只须要在序号递增的处所加上这段代码就行 [field:global runphp=""yes"" name=autoindex][/field ...
- dede文章列表根据权重自定义排序
首先在这里说明一下,网上搜索织梦文章列表自定义的方式无非有以下几种: 1.修改配置文件,新增一个orderid字段,想法很好,但是!但是!!!可能是早期版本的缘故,不适合现在的v5.7系统!按照网上说 ...
- 织梦dedecms首页/列表页/内容页调用tag的方法(未测试)
织梦dedecms首页/列表页/内容页调用tag的方法 在网站中tag是网站搜索相关文章的联系之一,也可以有专门的tag页面,在不同的页面也可以调用tag,而不是只有在首页和列表页才可以调用tag,这 ...
- 织梦仿站列表页pagelist分页显示竖排,如何修改成横排?
织梦仿站列表页pagelist分页显示竖排,如何修改成横排? 织梦列表页的分页标签是采用pagelist来进行调用的,但是很多人在调用之后会出现一个列表竖着排列的问题(横排美观度好一些),还是非常不美 ...
- 织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法
在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:field name='typename' /} 可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名 ...
- 如何修改织梦dedecms文章标题的最大长度
织梦dedecms默认的文章标题的最大长度为60字节,如果文章标题超过60字节将会自动截断,导致标题显示不全,这并非是我们所希望的.那么如何将标题长度改成我们想要的?只需简单两步即可解决问题. 1.进 ...
- 织梦dedecms自由列表的"不使用目录默认主页"错误修正
站长用织梦做站时常常发现织梦自由列表有个致命的问题: 即修改"不使用目录默认主页"就永远不会自己勾选啦 打开这个文件 makehtml_freelist_action.php 搜索 ...
随机推荐
- UVA 10305 Ordering Tasks
题意: 给出n和m,n代表总共有几个箱子.接下来m行,每行有a,b,表示b在a之后.输出一个合理的序列. 分析: 简单的拓扑排序: 代码: #include <iostream>#incl ...
- C#l连接OPC进行数据交互
步骤 :引用 OPCNETAPI.DLL&&OPCNETAPI.COM.DLL 1.查询服务器 2. 连接服务器 3. 读取数据 4.写入数据 1.查询服务器 :根 ...
- [ZT]图像处理库的比较:OpenCV,FreeImage,CImg,CxImage
1.对OpenCV 的印象:功能十分的强大,而且支持目前先进的图像处理技术,体系十分完善,操作手册很详细,手册首先给大家补计算机视觉的知识,几乎涵盖了近10年内的主流算法: 然后将图像格式和矩阵运算, ...
- 原生JS研究:学习jquery源码,收集整理常用JS函数
原生JS研究:学习jquery源码,收集整理常用JS函数: 1. JS获取原生class(getElementsByClass) 转自:http://blog.csdn.net/kongjiea/ar ...
- php or || 和 and &&
追溯代码时遇到这个坑,一直是略有懵懂,那就填了这个坑. 1 if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = BASEPATH.' ...
- laravel的模块化是如何实现的
laravel的模块化是如何实现的 在laravel提供的官方文档上,有一个这样的名词 服务提供者,文档中介绍了它在laravel框架中的角色,以及如何使用它,但却没有讲明服务提供者的本质--它是为了 ...
- 5路数字量输入Di,5路大电流继电器输出,可电脑控制,支持modbus协议工业模块,支持和DCS,PLC无缝对接。
数字量输入输出模块MRD-5060具有5路DI,5路继电器输出,1路485接口(支持Modbus RTU),能实现5路DI(干接点输入)转485的采集,也可以通过485控制5路继电器(5A30VDC, ...
- vim calendar插件配置
近日学习markdown,试着记个日志,安装了vim的知名插件calendar:https://github.com/mattn/calendar-vim. 使用网上配置,发现回车之后日期是昨天的,于 ...
- js自定义类和对象及继承
1.工厂方式 <script type="text/javascript"> function createObject(name){ var p = new Obje ...
- docker数据管理2
3. 定义数据卷容器: 只是为了共享数据 docker run -itd -v /data/ --name centeos_testv centos bash /data/ 就是虚拟机内的目录,和宿主 ...