您当前的位置:首页 > 帝国CMS教程

帝国6.0 排行排行榜的调用方法整理

来源:帝国CMS教程发布者:帝国CMS模板网时间:2010-05-30

A.首先要说明,目前排行调用实现的是:一周(一月,一年)内新增的信息,按点击排行的调用.
目前的排行调用方式,比较适合新闻网站,缺点是,如果本周无更新,就什么也调不出来了。例如一天没更新,后台的24小时排行常常是无内容。具体方法:

问:帝国是否可以实现类似本月热点排行之类的功能

前提是开启标签支持SQL语句。
SQL标签的应用
已带模版的标签为例:
[ecmsinfo]"select * from phome_ecms_news where newstime > UNIX_TIMESTAMP()-86400*30 order by onclick desc limit 10",10,30,0,24,7,0[/ecmsinfo]

30 是天,当然你也可以修改为7,365,1000,自己修改合适的时间。
10 是调用多少条,自己修改为合适。
24 是SQL标签的类型,必须为24系统才会执行前面的SQL。

问:能否指定栏目调用呢?
[ecmsinfo]"select * from phome_ecms_news where newstime > UNIX_TIMESTAMP()-86400*30 AND classid in('2','3') order by onclick desc limit 10",10,30,0,24,7,0[/ecmsinfo]

注意红色部分:可以填写你需要调用的栏目ID(注意:必须为终极类)

问:那调用当前栏目呢?这样模就更自动化了。

首先要使模版支持程序代码:
具体操作:后台—系统设置—参数设置—信息设置—模板是否支持程序代码:选择(是)
标签如下:
global $navclassid;
?>
[ecmsinfo]"select * from phome_ecms_news where newstime > UNIX_TIMESTAMP()-86400*30 and classid=$navclassid order by onclick desc limit 10",10,30,0,24,7,0[/ecmsinfo]

注意红色部分:
global $navclassid;,是使列表模版支持$navclassid变量($navclassid为当前栏目ID的变量)。
classid=$navclassid,条件语句,只调用栏目ID=当前栏目ID的文章。

问:我要在内容页调用当前内容页所属栏目的分时热门新闻呢?

[ecmsinfo]"select * from phome_ecms_news where newstime > UNIX_TIMESTAMP()-86400*30 and classid='".$navinfor[classid]."' order by onclick desc limit 10",10,30,0,24,7,0[/ecmsinfo]

B.网站所有信息,按一周内点击次数,排行的调用

这种方法很好,特别是对于非新闻站很有用,我认为这是真正的时间段按点击统计排行的方法,同时也能把排行细化到各栏目各时间段,不必担心无新增信息不显示。但是不会.这样的sql语句该怎么写,请能者赐教。我自己感觉可能帝国系统目前还实现不了.