演示链接:查看演示

dedecmsDEDE自定义表单时间字段读取中显示数字的解决办法

 

一般,我们要用到自定义表单也是为了把前台客户的数据,提交到数据库里,然后再后台我们可以看到

自定义表单可以做:报名系统啦,招聘系统啦,返修系统等等。。。功能非常强大。。。

但,我们都遇到了一个时间问题,DEDE的自定义表单中,有添加时间的字段。我记得其他CMS中,时间字段基本都是自动添加的。呵呵。。。

添加了时间字段以后,前台提交的页面时间能正常显示

填写了数据之后,提交回来(后台)的时间,显示成为了一段数字,这个我们一般称为“时间戳”。。。。

解释:我们前台提交的时间,程序会进行转换,成为了“时间戳”存在数据库中。然后我们要把数据(时间)调用出来就在相应的位置调用。但,由于调用的时候,没有把时间戳转换成为正常的时间,所以导致了问题的产生。

然后,我们的原理是,在调用的地方,添加一段把时间戳转换过来的代码,就可以实现了。

———————————

我这是5.6修改后的 文件

修改dede/templets/diy_list.htm,42行出       

           else后面加入

if($fielddata[1]==’datetime’)

            {

               $fields[$field] = GetDateTimeMk($fields[$field]);

            }

这个方法,测试完成。后台正常显示了。

————————————————————-

以上是版主提供的教程。根据这个教程,我们可以把后台的时间显示正常。因为我们改的是后台的模板。

————–

然后,为了让前台显示正常,我们也要在前台添加这句代码。

我们在后台的插件模板目录里面找到这个模板  list_diyform.htm。然后修改它,在以下位置添加上面的代码。

 其它附件</a>";

   }

分页标题#e#

——————–》》在这个的后面添加以下代码。保存就OK

if($fielddata[1]==’datetime’)

            {

               $fields[$field] = GetDateTimeMk($fields[$field]);

            }

THE END
喜欢就支持一下吧
点赞0 分享