云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

如何实现在dedecms中使用arclist/list标签按weight字段排序?

DedeCMS中,要实现按’weight’字段排序,可以使用以下方法:,,1. 打开需要修改的模板文件,找到arclistlist标签;,2. 在arclistlist标签内添加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}

这样,文档列表就会按照权重进行排序。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《如何实现在dedecms中使用arclist/list标签按weight字段排序?》
文章链接:https://www.yunzhuji.net/yunfuwuqi/254312.html

评论

  • 验证码