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}
标签中实现多种排序需求,以适应不同的展示需求。