找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1391|回复: 0

[分享] Dedecms自定义表单时间时间戳值类型的转换方法

[复制链接]
发表于 2018-7-17 09:24:44 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
在给客户用dedecms做二次开发的时候,自定义表单的功能会经常用到,比如比较简单的留言,订单咨询,意见反馈等等,是我们收集访客信息时经常需要用到的,而这些都可以通过dedecms的自定义表单功能轻松实现。我们在收集表单信息的时候往往需要了解访客提交数据的时间,Dedecms自定义表单的时间类型字段在后台显示的值为时间戳,我们要想办法将时间戳转化成我们能看懂的时间格式。
解决办法一:
修改/dede/templets/diy_list.htm,在第42行else前面加上以下代码:
PHP

       
  1.         else if($fielddata[1]=='datetime')
  2.                         {
  3.                         $fields[$field] = GetDateTimeMk($fields[$field]);
  4.                         }
复制代码

这样就能将时间戳转换成我们能读懂的时间日期格式了,另外前台由于不需要显示用户提交信息的当前时间,可以通过css将其隐藏掉。
解决办法二:
不通过时间类型的字段,用单行文本框+JS来实现,这样做就不用转化时间戳,而是直接通过JS获取时间值以字符串的形式写入。
在自定义表单增加一个文本框字段,例如字段名称为:subtime,在前台调用时增加相应的JS
PHP

  1. <td style="display:none;"><input type="text" name="subtime" id="subtime" value="">
  2. <script type="text/javascript">
  3.                     window.onload = function(){
  4.                     var nowDate = new Date();
  5.                     var str = nowDate.getFullYear()+"-"+(nowDate.getMonth() + 1)+"-"+nowDate.getDate()+" "+nowDate.getHours()+":"+nowDate.getMinutes()+":"+nowDate.getSeconds();
  6.                     document.getElementById("subtime").value=str;
  7.                     }
  8. </script>
  9. </td>
复制代码

如果是其他自定义字段名称,记得将input里面的name与id值相应修改。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-12-24 01:24 , Processed in 0.038299 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表