标签:
要实现的板块是电影评分榜,如下所示:
使用的标签是{dede:arclist},还要取出附加表的数据。
根据评分值降序排列的,前3名的样式与后面的不一样的。
分析模版上的源码所得,其实也就是前三名的加了class属性而已
(1)解决根据评分值排序。
我们要按照评分值来排序,需要根据pfen字段来排序,因此只能修改arclist标签的源码,让其支持根据pfen来排序。
通过分析发现{dede:arclist}标签,
然后到arclist.lib.php页面中随便找到输出sql语句的地方,然后我们对他进行断点测试:
然后再回到后台首页----生成-----更新主页html里面选择更新的模版指定到test.htm里面进行更新,效果如下图所示:
在执行解析时,是操作了三张表
dede_archives表 别名为arc
dede_arctype表 别名是tp
dede_addonmovie表 别名是addf
但是这里面没有评分的排序,无语,,,,,,不过我们可以去看他arclist.lib.php里面的代码进行判断下是否可以改造,里面的我们先双击他的执行代码:
进行向上查找,
而且这里面的代码有一个$ordersql的,见到排序的我们可以尝试下双击他,然后再向上进行查找。。。。。(苦逼中)
一直找到了这里我们要大胆的测试下看下是否在这里可行,所以我们添加一条数据看下
加了一条,然后把刚才的断点测试(var_dump($query);die;)的代码打开保存,然后回到后台,进行更新下看看效果如何
看到这里心情挺不错噢,因为出来了,然后我们屏蔽下他的断点调试,再更新下看看效果如何。。
成功得到排序后的结果,哈哈,继续回去该着模版上的index.htm代码,
效果出来了。。。。。。。。
但是还有点问题没得到解决,就是样式的问题,前端设计的时候他是排名前三的样式标称橙色的而已,但是现在全部都是橙色的了,可以在字段标签中使用简单的业务逻辑。
语法:
属性runphp=”yes”表示该字段标签中要使用简单的业务逻辑。
[field:字段标签 runphp=”yes”]
if(){
}
[/field:字段标签]
我们再来作一个小案例测试下
案例:如果评分值大于8分则显示优秀,否则正常显示分值。
看下结果
这样就可以很容易的判断到了。。。。。
废话不多说,回归项目,继续改造index.htm文件
然后在后台更新下index首页,最终效果如下所示:
效果已出来。。
夺命雷公狗---CMS---16-dedecms(实例之电影网10-完成电影的评分榜)
标签:
原文地址:http://www.cnblogs.com/leigood/p/4964869.html