帝国CMS分类信息有效期
一、有效期设定
分类信息,通常要设定有效期,如:此信息还剩 N 天 。等等。且大家都在找如何让有效期能根据判断实际,显示天数和是否过期。下面我在分享一下具体操作(我会尽量用最详细的说明)
1、在“分类信息模型”里的“管理字段”中新增字段:
字段设置为:
字段名:enddate (这个是例子,可自定)
字段标识:自定
字段类型:小型字符型(TEXT) 长度留空即可
输入表单显示元素:日期(date) 长度也留空即可
* 其它不选不填 。(字段顺序 填数字。可自定,是添加信息与投稿的显示前与后的关联)
2、记得在分类信息中“管理系统模型”中重新点修改一下。(打上“录入表单模板”和“前台投稿表单模板”前的勾)
打上:录入项 搜索项 投稿项 必填项 列表模板 内容模板 可增加 可修改 等的勾(这个可根据自己要求。如要采集,有此项的话,请在采集项打下勾)。
3、在分类信息内容模板页 中适当的位置添加以下代码:(灵动标签SQL根据需要可更改)
——————————————————————— 开始 ———————
有效期:
[e:loop={'select * from [!db.pre!]ecms_info where checked=1 order by newstime desc,id desc limit 1',1,24,0}] <?php $enddate = explode("-", $bqr[enddate]); //enddate为字段名。如果有改,请更改全部。我已描蓝了。 $newstime = explode("-", $bqr[newstime]); // 发布时间,格式为:Y-m-d H:i:s $lt = mktime(0,0,0,$enddate[1], $enddate[2], $enddate[0]); $st = mktime(0,0,0,$newstime[1], $newstime[2], $newstime[0]); $overtime=$lt - $st; $days=$overtime /86400; if($days<0) { echo "此信息已过期"; //建议可换成图片形式 } else { echo "此信息还剩 <b><font color=red>".$days."</font></b> 天"; // CSS自定 } ?> [/e:loop]