最近刚做了一个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分钟,而是使用前面提到的编辑时间,以后我将会找出完美的方法。 |