DEDECMS自定义表单提交的时间给转换成unix时间戳(一段数字),我们管理员在后台需要看到是日期,而不是那一行数字,下面方法可以解决这个问题,dedecms 5.6和5.7都可以,打开dede/templets/diy_list.htm,在42行左右( 其它附件</a>";}下一行),再加一个IF判断,代码如下:
else if($fielddata[1]=='datetime') { $fields[$field] = GetDateMk($fields[$field]); }
上面的代码结果是年月日,如果想要有时分秒,代码如下
else if($fielddata[1]=='datetime') { $fields[$field] = GetDateTimeMk($fields[$field]); }
如果想知道表单是什么时候添加的,可以加入如下代码
<input name="timesj" type="hidden" value="" type="text" id="timesj" style="width:250px" class="intxt" /> <script type="text/javascript"> window.onload = function(){ var nowDate = new Date(); var str = nowDate.getFullYear()+"-"+(nowDate.getMonth() + 1)+"-"+nowDate.getDate()+" "+nowDate.getHours()+":"+nowDate.getMinutes()+":"+nowDate.getSeconds(); document.getElementById("timesj").value=str; } </script>
或者用这个代码也可以
<input type='hidden' name='timesj' id='timesj'/> <script language="javascript" type="text/javascript"> var wdtime= new Date(); document.getElementById("timesj").value=wdtime.toLocaleString(); </script>
如果要在前台显示正确的时间,用同样的方法修改/templets/plus/list_diyform.htm就可以了