thinkcmf 表格排序
时间: 2023-07-01 10:05:04 浏览: 101
表格排序
在 ThinkCMF 中,可以使用 ThinkPHP 自带的排序方法对表格进行排序。
首先,在控制器中获取表格数据,并按照需要排序的字段进行排序,例如:
```php
$list = $this->model->order('create_time desc')->select();
```
这里以 `create_time` 字段为例进行降序排序。如果需要升序排序,则将 `desc` 改为 `asc`。
然后,将排序后的数据传递给模板进行展示。在模板中,可以使用 ThinkCMF 内置的 `table_data_page` 函数生成表格,并添加排序功能。
```html
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>ID</th>
<th>名称</th>
<th>创建时间</th>
</tr>
</thead>
<tbody>
{% foreach $list as $vo %}
<tr>
<td>{{ $vo.id }}</td>
<td>{{ $vo.name }}</td>
<td>{{ $vo.create_time|date='Y-m-d H:i:s' }}</td>
</tr>
{% endforeach %}
</tbody>
</table>
{% if $list %}
<div class="text-right">
{{ table_data_page($list) }}
</div>
{% endif %}
```
在表格头部添加排序链接,例如:
```html
<th><a href="{:U('index', ['order' => 'create_time desc'])}">创建时间</a></th>
```
这里使用了 ThinkPHP 的 `U` 函数生成排序链接,将排序的字段和排序方式作为参数传递。
最后,在控制器中获取排序参数,并重新查询数据进行展示,例如:
```php
$order = $this->request->param('order', 'create_time desc');
$list = $this->model->order($order)->select();
$this->assign('list', $list);
```
这样,就可以在 ThinkCMF 中实现表格排序了。
阅读全文