在做企業的網站時,通常會有個留言板表單功能,用戶提交信息和需求到後台的功能,那就不能用多說了,用自定義表單輕松搞定。雖然玩DEDE沒折騰WP這麼有樂趣,不過有時候發現某個功能還是挺有成就感的。
比如你要加個留言板或者報名之類的表單,用這個還是挺方便的,只是有點小麻煩的。
方法/步驟
找到後台-核心-頻道模型-自定義表單
然後點擊增加新的自定義表單
diyid 這個,不管他,默認就好
自定義表單名稱 這個的話,比如你要加個留言板還是投訴建議?寫上去呗
數據表 這個不要碰,默認就行
列表模板、內容模板、發布模板這些,不管他,因為我們根本不需要...
前台列表和內容頁公開? 這個選擇 完全公開或者公開審核過的,反正我們只要到後台能看到別人的留言,不需要審核的,前台反正也不調用的。後面的不公開,如果你勾上了....那就沒下一步了,不信你可以點確定後試試
點確定創建好表單後,就點擊那個修改圖標,看下圖
進去後就是要添加字段了,比如要個姓名,電話,留言內容啥的,點擊上圖的圖標進入
如此這般,把昵稱、電話、留言內容這些表單添加了之後,點確定,再然後添加完字段之後,表單也就完成了,所以,在這裡點擊前台預覽。注意,如果在上上上步你那裡是選中內容不公開,那這裡也就不能浏覽了。
點擊前台預覽後,會出來以下的頁面,這不是重點,點擊右上角的發布信息
出來了一個頁面,這也不是重點,我們也不需要用這頁面,我們只要這頁面的表單代碼,對不對?所以,在這裡右鍵-查看源代碼,然後因為表單是form,如果你不懂代碼沒關系,只要復制<form>這個代碼之內的內容,粘貼到你需要顯示的地方。
然後你要做的就是改樣式了,表格特不爽有麼有?於是用li標簽來替換。我的修改後是如下圖
給DEDE自定義表單添加驗證碼功能
你會發現,直接復制form表單裡面的代碼,會沒有驗證碼....不管怎麼說,驗證碼這玩意還是必須得添加的。
打開根目錄下 /plus/diy.php 文件,然後在第61行,呃,如果沒有顯示行,那就查找
$fieldarr = explode(';', $dede_fields);
在這一句的前面添加下面的代碼
if(!emptyempty($dede_fields))
{
$validate = emptyempty($validate) ? '' : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue());
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ ResetVdValue();
ShowMsg('驗證碼不正確!',$dede_add,0,1000);
exit;
}
}
保存之後,還要在模板你添加表單的頁面添加下面的代碼,這個代碼是顯示驗證碼跟輸入驗證碼的,放在表單裡面
<input name="validate" type="text" id="vdcode" size="8"/>
<img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" alt="看不清?點擊更換" src="../include/vdimgck.php"/>
<a href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a>
添加完之後,還要在本頁面添加JQ代碼,以下代碼可以放在網頁底部
<script type="text/javascript" language="javascript">
//驗證碼
function changeAuthCode() {
var num = new Date().getTime();
var rand = Math.round(Math.random() * 10000);
num = num + rand;
$('#ver_code').css('visibility','visible');
if ($("#vdimgck")[0]) {
$("#vdimgck")[0].src = "../include/vdimgck.php?tag=" + num;
}
return false;
}
</script>
*