Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑问] 请问怎样的在后台对模型里发布的信息进行排序

[复制链接]
taokerzu 发表于 2010-1-7 20:26:01 | 显示全部楼层 |阅读模式
本帖最后由 taokerzu 于 2010-01-07 20:34 编辑

最近在学习SS的模型,感觉SS的模型功能非常强大.但是我在做模型模板的时候,模型前台数据默认都是按发布时间进行排序,如果要查看其它排序方式,只能通过表单的"选择排序方式"然后再按搜索进行查看,那样显得非常麻烦.


请问如果要在后台对模型前台数据进行自定义排序的话该怎样修改模板?或者对模型信息的默认排序不按照发时间而是按照审核等级,其次如果审核等级相同的话则按照查看数进行排序该如何进行修改?

怎样在后台对前台数据进行自定义排序?
 楼主| taokerzu 发表于 2010-1-8 09:38:11 | 显示全部楼层
HELLO,有没人过来看看......
回复

使用道具 举报

 楼主| taokerzu 发表于 2010-1-8 20:47:14 | 显示全部楼层
没有大神回复一下吗?
回复

使用道具 举报

 楼主| taokerzu 发表于 2010-1-8 22:40:19 | 显示全部楼层
一点都没人关心这个问题的吗?
回复

使用道具 举报

carsoo 发表于 2010-1-8 22:48:00 | 显示全部楼层
一点点麻烦,但是可以解决。修改你的 m.php
回复

使用道具 举报

 楼主| taokerzu 发表于 2010-1-8 23:14:36 | 显示全部楼层
呵呵,修改m.php来说对我来说可不是一点点麻烦啊,大神说详细点塞...
回复

使用道具 举报

carsoo 发表于 2010-1-9 02:08:55 | 显示全部楼层
本帖最后由 carsoo 于 2010-01-09 02:13 编辑

大神不敢当。你的意思大概是想把某些指定的信息显示在最前面,然后按热度排序吧。如果我没理解错~
可以说下解决思路

理论:页面做list动作时,更改默认排序方式。(在不更改后台的前提下,可利用ss系统提供的审核等级[grade DESC]来排序,如:审核等级高在前。)按审核等级排序后会,再进行查看数[viewnum DESC]排序,多者优先。

实践:$_GET['mo_order'] = !empty($_GET['mo_order']) ? intval($_GET['mo_order']) : 0;
等号前面的呢是 取得传递来的参数[variable],等号与问号之间的呢 是赋值条件,如果为真,则把问号与冒号之的值给等号前面的,如果为假 就把冒号后面的给等号前面那个家伙。

举个简单例子:$酒杯 = !empty($酒杯) ? intval(白酒) :白酒; 就是说先看下你的酒杯,有没有酒,如果有看下是不是白酒,不是白酒要换成白酒。如果酒杯里没酒那直接倒白酒。只喝白酒。

先不管酒了 一会喝多了。看上面代码,注意那个 0  。没有搜索条件时(刚刚打开页面时)$_GET['mo_order'] 这个是空的,(没有酒)所以直接把这个 0  给 $_GET['mo_order'] 他了。

下面说说这个 0 是干嘛的。
这个0是m.php 页的一只队伍的成员。 看下面 每个数字后面都有对应的“酒”
                        '0' => 'i.itemid DESC',        //按id倒序
                        '1' => 'i.dateline DESC',     //按时间倒序
                        '2' => 'i.dateline ASC',       //按时间正序
                        '3' => 'i.viewnum DESC',    //按点击数倒序
                        '4' => 'i.viewnum ASC',      //按点击数正序
                        '5' => 'i.rates DESC',          //按评分倒序
                        '6' => 'i.rates ASC',            //按评分正序
                        '7' => 'i.grade DESC',         //按审核倒序
                        '8' => 'i.grade ASC',           //按审核正序
现在大概知道把那个 0 换成什么了吧? 恩,换成7 就是 按审核等级 高到低排序了。
至于 按7排序完成后,再按3排 自己研究吧。
回复

使用道具 举报

 楼主| taokerzu 发表于 2010-1-9 12:28:10 | 显示全部楼层
谢谢carsoo的解答,有什么问题再向你请教
回复

使用道具 举报

carsoo 发表于 2010-1-9 15:29:19 | 显示全部楼层
谢谢carsoo的解答,有什么问题再向你请教
taokerzu 发表于 2010-01-09 12:28



    客气了,大家一起学习。不用谢
回复

使用道具 举报

 楼主| taokerzu 发表于 2010-1-10 10:04:53 | 显示全部楼层
自己看代码看的头晕,carsoo这样一解释就明白了.找到上面所说的那句代码直接把代表排序功能的那个数字替换就OK了!
PS:感觉就个功能还是挺实用的,不知道为什么大家都不关心这个话题?连官方都没一点解答.还好多亏了carsoo好同志哪
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 12:40 , Processed in 0.029278 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表