当前位置:首页 > 行业动态 > 正文

如何在织梦dedecms中配置自定义表单以显示时间字段?

在织梦dedecms中,要在自定义表单显示时间,可以使用系统内置的时间字段类型。在创建或编辑表单时,选择添加一个字段,然后在字段类型中选择“时间”,保存后该字段就会以时间选择器的形式显示在表单中。

在织梦dedecms中,自定义表单显示时间可以通过以下步骤实现:

添加自定义字段

1、创建自定义表单:在织梦dedecms后台找到“核心”“频道模型”“自定义表单”,点击创建一个新的表单。

2、添加字段:在新创建的表单中,添加所需的字段,如联系人、联系方式、地址、留言内容等,为了记录提交时间,需要添加一个名为“提交时间”的字段,类型选择为“文本形式”。

修改模板代码

1、前台模板修改:打开前台调用表单的页面模板(如/templets/plus/list_diyform.htm),在适当位置加入JavaScript代码,用于在页面加载时自动填充当前时间到“提交时间”字段。

<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("mytime").value=str;
}
</script>

mytime应替换为实际“提交时间”字段的ID或名称。

2、后台模板修改:如果需要在后台也显示提交时间,并且以正常的时间格式显示(而非时间戳),则需要修改后台模板,打开后台模板文件(如dedetempletsdiy_list.htm),在适当位置(如42行“else”下面一行)加入以下代码:

if($fielddata[1]=='datetime') {
    $fields[$field] = GetDateTimeMk($fields[$field]);
}

这段代码的作用是将数据库中存储的时间戳转换为正常的时间格式。

注意事项

在添加自定义字段时,请确保字段名称唯一且不与系统保留字冲突。

修改模板代码时,请备份原始文件以防万一。

如果对PHP或JavaScript不熟悉,建议寻求专业人士的帮助。

FAQs

问题1:为什么提交后的自定义表单时间显示为一串数字?

答:这是因为在织梦dedecms中,时间类型的字段默认是以时间戳的形式存储在数据库中的,如果不进行转换,直接在后台查看时会显示为一串数字,通过上述方法修改模板代码后,可以将时间戳转换为正常的时间格式显示。

问题2:如何在织梦dedecms自定义表单中同时显示提交时间和IP地址?

答:除了按照上述步骤添加和显示提交时间外,还可以在自定义表单中添加一个新的字段来记录用户的IP地址,具体方法是在自定义表单中添加一个名为“用户IP”的字段(类型选择为“文本形式”),并在表单提交时获取用户的IP地址填充到该字段中,这通常需要修改表单提交的处理文件(如/plus/diy.php),在其中添加获取用户IP地址的代码。

0