AB木紋網(wǎng)很早之前就搞清楚了織夢自定義表單的功能與擴(kuò)展方法,但是一直忽視自定義表單的時(shí)間問題,導(dǎo)致最近公司站有人提交訂單后找不到他提交訂單的時(shí)間,算是一個(gè)小小的瑕疵,痛定思痛之后,找到了方法解決這個(gè)問題:
一、JS動態(tài)獲取當(dāng)前電腦時(shí)間方法:
首先在自定義表單中添加時(shí)間的新字段,麥站命名為shijian,數(shù)據(jù)類型為 單行文本(varchar)
DedeCMS自定義表單獲取填單時(shí)間的方法
然后在表單模板中調(diào)用的時(shí)候加上代碼
<input type='hidden' name='shijian' id='shijian' placeholder="" >
<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("shijian").value=str;
}
</script>
這樣每次提交的自定義表單的時(shí)候,后臺就會多一個(gè)提交時(shí)間,如下圖:
DedeCMS自定義表單獲取填單時(shí)間的方法
二、靜態(tài)獲取方法:
首先打開/plus/diy.php,找到代碼(大概在第69行):
if($fieldinfo[1] == 'textdata')
{
${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));
${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
}
在下面加上代碼:
if($fieldinfo[0] == 'shijian')
{
${$fieldinfo[0]}=date("Y-m-d H:i:s");
}
DedeCMS自定義表單獲取填單時(shí)間的方法
同樣在自定義表單中添加時(shí)間的新字段,ab模板網(wǎng)命名為shijian,數(shù)據(jù)類型為 單行文本(varchar)
DedeCMS自定義表單獲取填單時(shí)間的方法
在表單模板中調(diào)用的時(shí)候加上代碼
<input type='hidden' name='shijian' id='shijian' placeholder="" >
這樣也可以實(shí)現(xiàn)自定義表單獲取填單時(shí)間了,但是有一個(gè)特別注意的問題就是,很多讀者都說調(diào)不出來時(shí)間,網(wǎng)站源碼網(wǎng)檢查他們的代碼后,發(fā)現(xiàn)他們在表單后面的 dede_fields項(xiàng)中沒有把新增的自定義時(shí)間字段加進(jìn)去,像麥站這樣:
<input type="hidden" name="dede_fields" value="name,text;tel,text;shijian,text"/>
這樣才可以完美實(shí)現(xiàn)自定義表單獲取填單時(shí)間了