arclist
或list
标签;,2. 在arclist
或list
标签内添加orderby='weight'
属性。,,示例代码:,“html,{dede:arclist typeid='栏目ID' orderby='weight'}, ...,{/dede:arclist},
“,,这样,列表内容将按照’weight’字段的值进行排序。实现DEDECMS中ARCLIST/LIST标签按’weight’排序的方法
在DedeCMS(织梦内容管理系统)中,默认情况下,文章列表的排序方式是按照发布时间倒序排列的,有时我们需要根据文章的权重(weight)来排序,以便更加灵活地控制文章显示的顺序,本文将详细介绍如何在DedeCMS中实现arclist和list标签按“weight”排序的方法。
DedeCMS Arclist 标签按 ‘weight’ 排序方法
1、找到并修改arclist.lib.php文件:
在织梦系统的目录中找到includetaglib
文件夹,并打开其中的arclist.lib.php
文件。
大约在第74行和第75行处,找到以下代码:
// arclist是否需要weight排序,默认为"N",如果需要排序则设置为"Y" $isweight = $ctag>GetAtt('isweight');
将其修改为:
$weight = $ctag>GetAtt('weight');
大约在第327行处,找到以下代码:
else if($orderby == 'weight') $ordersql = " order by arc.weight asc";
在这里增加一行代码:
else $ordersql = " ORDER BY arc.sortrank $orderWay";
2、模板调用:
在模板中使用arclist标签时,可以通过设置orderby='weight'
来实现按权重排序。
{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/]<br/> {/dede:arclist}
DedeCMS List 标签按 ‘weight’ 排序方法
1、找到并修改arc.listview.class.php文件:
在织梦系统的根目录中找到include/arc.listview.class.php
文件。
查找以下代码:
else if($orderby=="lastpost") { $ordersql = " ORDER BY arc.lastpost $orderWay"; }
在该行前面插入如下代码:
else if($orderby=="weight") { $ordersql = " ORDER BY arc.weight $orderWay"; }
继续查找以下代码:
if(ereg('hot|click|lastpost',$orderby))
将其修改为:
if(ereg('hot|click|weight|lastpost',$orderby))
2、模板调用:
在模板中使用list标签时,可以通过设置orderby='weight'
来实现按权重排序。
{dede:list pagesize='10' titlelen='50' orderby='weight'} •[field:textlink/]<br/> {/dede:list}
如果要实现越重越大越靠前,可以将上述代码中的orderway='asc'
去掉即可。
FAQs
问题1:为什么修改了arclist.lib.php文件后,列表仍然没有按照权重排序?
答:确保您已经正确修改了arclist.lib.php文件中的相关代码,如果仍然无法生效,请检查您的模板调用是否正确使用了orderby='weight'
参数,并且确认您的DedeCMS版本是否支持此功能,可以尝试重新生成HTML页面以应用更改。
问题2:如何在DedeCMS 5.6系统中使用arclist标签按权重排序?
答:在DedeCMS 5.6系统中,您可以在模板中使用arclist标签,并通过设置orderby='weight'
来实现按权重排序。
{dede:arclist row='10' titlelen='50' orderby='weight'} •[field:textlink/]<br/> {/dede:arclist}
这样,文档列表就会按照权重进行排序。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1229915.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复