如何优化 {dede:freelist/} 列表调用并增加排序方式?

在使用织梦(Dedecms)进行内容管理时,{dede:freelist/} 是一个非常实用的标签,用于自由列表的调用。然而,当我们需要更多自定义排序功能时,系统默认提供的选项可能无法满足需求。本文将详细介绍如何为 {dede:freelist/} 增加随机排序(rank)和按得分排序(scores)的功能。

首先,确保你已经熟悉 {dede:freelist/} 的基本用法。接下来,我们将逐步介绍如何实现这一目标。

当你尝试使用自由列表时,可能会发现系统默认的排序方式并不包含随机排序(rank)和按得分排序(scores)。不过不用担心,这两个排序方式其实在 Dedecms 系统中已经存在,只是没有被列出。因此,我们可以通过简单的修改来实现这一功能。


第一步:打开文件 dede/templets/freelist_add.htm(添加自由列表模板)。找到以下代码:


排列顺序:
    

在这行代码下方插入以下代码:


  

    

保存文件。


第二步:打开文件 dede/templets/freelist_edit.htm(修改自由列表模板)。找到以下代码:


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

将其下方的参数改为:


$sorta = "sortrank,置顶权限值;pubdate,发布时间;senddate,录入时间;click,点击量;id,文档ID;lastpost,最后评论时间;postnum,评论总数;rand,随机推荐;scores,按照得分";
    

接着,找到以下代码: