首页 > 其他 > 网站日记>正文

帝国cms列表页按日期分组显示

提示: 阅读权限:公开  

有朋友在帝国论坛提出了这个问题---帝国cms列表页如何按照日期分组展示。jiuhecai给出了这样的答案:

 

在列表模板的上部分

...<td><?$jhctime=0;?>[!--empirenews.listtemp--]
<!--list.var1-->
[!--empirenews.listtemp--]</ul>
<table width="100%" border="0" cellspacing="0" cellpadding="0">...

在列表模板的下集

$pad='</ul>';
if($GLOBALS['jhctime']==0)$pad='';
if(date('Ymd',$GLOBALS['jhctime'])<>date('Ymd',$r[newstime])){
    $jhc=$pad.'<div><b>'.date('Y年m月d日',$r[newstime]).'(星期'.mb_substr( "日一二三四五六",date("w",$r[newstime]),1,"utf-8" ).')</b></div><ul>';
   $GLOBALS['jhctime']=$r[newstime];
}
$befrom=$empire->gettotal("select befrom as total from {$dbtbpre}ecms_{$class_r[$r[classid]][tbname]}_data_{$r[stb]} where id={$r[id]} limit 1");
$listtemp=$jhc.'<li><a href="[!--titleurl--]" title="[!--oldtitle--]">【来源:'.$befrom.'】[!--title--]</a> <span>[!--newstime--]-</span></li>';

效果图:

123456.jpg

如果是在灵动标签中,要取得这么一个效果,问题更加简单:

[e:loop={0,10,3,0}]
<?
$jhc='';
if(date('Ymd',$jhctime)<>date('Ymd',$bqr[newstime])){
    $jhc='<div><b>'.date('Y年m月d日',$bqr[newstime]).'(星期'.mb_substr( "日一二三四五六",date("w",$bqr[newstime]),1,"utf-8" ).')</b></div>';
   $jhctime=$bqr[newstime];
}
?>
<?=$jhc?><a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
[/e:loop]

这是因为,帝国cms 的灵动标签,是翻译成php代码直接执行的。不同于在列表模板中,那里的下部代码是在一个函数中执行的,不用$GLOBALS,我们无法保持我们的变量。

上一篇:在帝国cms中对取出的数据自定义排序

下一篇:win7远程桌面笔记

tags: 帝国cms 列表页 帝国

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部