如何实现织梦列表的多种排序显示功能?

avatar
作者
猴君
阅读量:0
织梦 {dede:list} 列表可以通过设置 orderby 属性实现多种排序显示。

管理系统(DedeCMS)中,{dede:list} 标签用于生成文章列表,支持多种排序方式,以下是对{dede:list} 列表按多种排序方式显示的详细介绍:

如何实现织梦列表的多种排序显示功能?

主要排序类型

1、文档排序方式

orderby='sortrank':按照文档的排序顺序进行排列。

orderby='hot' 或 orderby='click':表示按点击数排列。

orderby='pubdate':按出版时间排列。

orderby='lastpost':按最后评论时间排列。

orderby='scores':按得分排序。

orderby='id':按文章ID排序。

orderby='rand':随机获得指定条件的文档列表。

2、权重排序

orderby='weight':实现文档按权重排序,需要修改模板和系统文件。

orderway='asc':设置排序方式为升序排列。

orderway='desc':设置排序方式为降序排列。

实现权重排序的步骤

1、修改模板文件

在模板文件中使用以下代码:

```html

{dede:list pagesize='10' orderby='weight' orderway='asc'} ?[field:textlink/]<br/> {/dede:list}

```

这将使列表页内容按照权重从小到大的顺序排列。

2、修改系统文件

打开 include 目录下的 arc.listview.class.php 文件。

查找并修改以下语句:

```php

else if($orderby=="lastpost") { $ordersql = " order by arc.lastpost $orderWay"; }

```

如何实现织梦列表的多种排序显示功能?

在此行前面插入如下语句:

```php

else if($orderby=="weight") { $ordersql = " order by arc.weight $orderWay"; }

```

继续查找并修改以下语句:

```php

if(ereg('hot|click|lastpost',$orderby))

```

修改为:

```php

if(ereg('hot|click|weight|lastpost',$orderby))

```

保存文件后,生成一下页面,可以看到文档列表已经按照权重排序。

常见问题解答

1、如何设置列表页内容按权重从小到大排序?

在模板中使用以下代码:

```html

{dede:list pagesize='10' orderby='weight' orderway='asc'} ?[field:textlink/]<br/> {/dede:list}

```

这将使列表页内容按照权重从小到大的顺序排列。

2、如何设置列表页内容按权重从大到小排序?

在模板中使用以下代码:

```html

{dede:list pagesize='10' orderby='weight'} ?[field:textlink/]<br/> {/dede:list}

```

如果不在模板中写明 orderway="asc",则默认为降序排列。

如何实现织梦列表的多种排序显示功能?

通过上述方法,可以实现{dede:list} 列表按多种排序方式显示,包括文档排序、点击数排序、出版时间排序、评论时间排序、得分排序、ID排序和随机排序等,还可以通过修改模板和系统文件实现按权重排序,希望这些信息能帮助你更好地使用 DedeCMS。


织梦{dede:list} 列表按多种排序显示

在织梦(DedeCMS)中,使用{dede:list} 标签可以方便地生成列表,并通过参数实现多种排序功能,以下是一些详细的排序方法,以及相应的标签用法。

1. 按时间排序

说明:默认情况下,{dede:list} 标签生成的列表是按时间降序排列的。

示例

 {dede:list typeid='1' orderby='pubdate'}     <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li> {/dede:list}

2. 按点击量排序

说明:按点击量排序可以显示最受欢迎的内容。

示例

 {dede:list typeid='1' orderby='click'}     <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li> {/dede:list}

3. 按评论数排序

说明:按评论数排序可以展示用户互动较多的内容。

示例

 {dede:list typeid='1' orderby='comments'}     <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li> {/dede:list}

4. 按自增ID排序

说明:按自增ID排序可以生成一个有序的列表。

示例

 {dede:list typeid='1'orderby='id'}     <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li> {/dede:list}

5. 按自定义字段排序

说明:如果需要按自定义字段排序,可以使用orderby 参数配合字段名。

示例

 {dede:list typeid='1'orderby='custom_field'}     <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li> {/dede:list}

注意custom_field 需要替换为实际的字段名。

6. 混合排序

说明:可以通过在orderby 参数中添加多个字段名,以实现更复杂的排序逻辑。

示例

 {dede:list typeid='1'orderby='pubdate,click'}     <li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li> {/dede:list}

在这个例子中,列表首先按发布时间排序,如果时间相同,则按点击量排序。

通过以上方法,您可以在织梦{dede:list} 标签中实现多种排序需求,以适应不同的展示需求。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!