最近刚做了一个DEDEMCS的下载频道,已经运营了一段时间,在运营过程中发现一些问题:在编辑和审核软件时,经常要把以前的时间更新到现在的时间,手动输入真的太麻烦了,所以我决定把这功能在后台实现,最终找到了两种解决的方式。 一、增加一个按钮,可以赋值给文本框,从而实现获取当前时间为发布/编辑/审核时间的效果,这里使用的是PHP+JS的方式,PHP获取当前时间,JS用于给文本框赋值。 打开dede/templets/article_edit.htm(dede是后台路径,软件和其他模型的模板,照葫芦画瓢,不再赘述),查找以下代码: <?php $nowtime = GetDateTimeMk($arcRow["pubdate"]); echo "<input name="pubdate" value="$nowtime" type="text" id="pubdate" style="width:200">"; ?> 修改为: <?php $nowtime = GetDateTimeMk($arcRow["pubdate"]); $uptime = date("Y-m-d G:i:s"); echo "<input name="pubdate" value="$nowtime" type="text" id="pubdate" style="width:160"> <input type="button" value="更新?" onclick="liehuo_time()">n"; echo "<script type="text/javascript">n"; echo "function liehuo_time(){n"; echo "form1.pubdate.value="$uptime";n"; echo "}n"; echo "</script>n"; ?> 二、自动更新时间,即:编辑文档、审核文档时,不用理会发布时间,则自动更新为当前时间,使用了PHP获取当前时间,自动同步的方式。 打开dede/templets/article_edit.htm(dede是后台路径,软件和其他模型的模板,照葫芦画瓢,不再赘述),查找以下代码:<?php $nowtime = GetDateTimeMk($arcRow["pubdate"]); echo "<input name="pubdate" value="$nowtime" type="text" id="pubdate" style="width:200">"; ?> 修改为: <?php $nowtime = date("Y-m-d G:i:s"); echo "<input name="pubdate" value="$nowtime" type="text" id="pubdate" style="width:200">"; ?> 以上两种方式都有一个弊端,因为采用PHP获取时间,获取到的时间只是打开文档那一刻的时间,举例:例如你的文档原发布时间为2009年8月6日11点30分22秒,你编辑文档的时间为2010年4月30日8点30分22秒(编辑时间即为当前时间),如果你编辑文章的时间较长,使用了5分钟,PHP获取的时间不会延时5分钟,而是使用前面提到的编辑时间,以后我将会找出完美的方法。 |