帝国CMS年榜、月榜、周榜、日榜排序的实现方法

要实现排行榜,基本逻辑是现在的时间减去以前的时间,然后其中的时间段就是我们所需要的排序时间,代码如下:

年榜的实现方法:

[e:loop={"select * from phome_ecms_news where  newstime>UNIX_TIMESTAMP()-86400*365 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

月榜的实现方法:

[e:loop={"select * from phome_ecms_news where  newstime>UNIX_TIMESTAMP()-86400*30 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

周榜的实现方法:

[e:loop={"select * from phome_ecms_news where  newstime>UNIX_TIMESTAMP()-86400*7 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

日榜的实现方法:

[e:loop={"select * from phome_ecms_news where  newstime>UNIX_TIMESTAMP()-86400*1 order by onclick desc limit 10",10,24,0}]
<a href="<?=$bqsr[titleurl]?>" target="_blank"><?=$bqr[title]?></a><br>
[/e:loop]

代码解析:
以年榜为例来解析,其中的关键代码是“newstime>UNIX_TIMESTAMP()-86400*365 ”,这一句表示时间要大于当前时间减去一年前的时间,结果就表示过去一年的时间,有点绕口,大家只需记住UNIX_TIMESTAMP()-86400*365,这个365表示一年365天,那么,月这个数字改成30就可以了,周改成7,日改成1,然后可以按照点击进行排序,这样就实现了相应的榜单排名。

帝国cms灵动标签同时调用头条和推荐

帝国cms灵动标签同时调用头条(1级、2级)、推荐(1级、2级)

方法1、同时调用头条(1级、2级)、推荐(1级、2级)

[e:loop={0,10,3,0,'isgood=1 or firsttitle=1 orisgood=2 or firsttitle=2'}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
[/e:loop]

注释:调用有头条(1级、2级)、推荐(1级、2级)用 or(或者)

方法2、调用头条、推荐两个条件都具备(一篇文章既有“头条”属性、又有“推荐”属性)

[e:loop={0,10,3,0,'isgood=1 and firsttitle=1'}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
[/e:loop]

注释:调用头条、推荐两个条件都具备用 and(并且、和)

帝国CMS,灵动标签结合PHP代码获取当前栏目classid,一个模板调用生成栏目导航

帝国CMS系统,在使用过程中,灵动标签调用栏目中,可以自定义当前栏目的class样式。链接在这里:在日常建站过程中,整理了一些帝国ECMS常用技巧集 之 灵动标签调用栏目,可定义当前栏目的class样式
实际操作过程中,直接使用bclassid=[!--bclass.id--]是无效的。不同栏目都需要调用对应的各自的子栏目导航,
这样,我们需要在页面顶部先获取父栏目的id数字才有效,代码如下:

<?php
    $a=$GLOBALS[navclassid];
    $b= $class_r[$a]['bclassid'];
?>

然后在灵动标签对应的位置加上:bclassid=$b 来实现父栏目id的调用,该方法同时适用内容模板页面。

帝国CMS调用某一栏目,指定时间内的所有信息

帝国CMS,万能标签或者灵动标签,调用某一栏目,指定时间内的所有信息。
例如调用2020年的所有信息,SQL语句如下:

select * from [!db.pre!]ecms_news where newstime>=UNIX_TIMESTAMP('2020-01-01 00:00:01') and newstime<=UNIX_TIMESTAMP('2020-12-31 23:59:59') and classid in (10) order by newstime desc limit 10