列表栏目“列表页模板”的按 ID 排序,主要不是在模板里设置,而是在控制器里设置。

改这个文件:

addons/cms/controller/Channel.php

找到:

$orders = [
    ['name' => 'default', 'field' => 'weigh DESC,publishtime DESC', 'title' => __('Default')],
];
改成按 ID 倒序:

$orders = [
    ['name' => 'default', 'field' => 'id', 'title' => __('Default')],
];
这里不要写 a.id DESC,会报“不支持的数据表达式”。因为排序方向 desc 是系统后面单独处理的。

列表页模板比如:

addons/cms/view/default/list.html

或产品列表:

addons/cms/view/default/list_product.html

里面的:

{cms:pagelist id="item"}
只是显示分页列表,不控制排序。真正排序是在 Channel.php 里这行执行:

->order($orderby, $orderway)

如果你想固定所有列表栏目默认按 ID 倒序,改 Channel.php 里的 $orders 就可以。改完清缓存。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部