仿织梦自定义表单详解.doc
文本预览下载声明
织梦的自定义表单可以实现许多实用的功能,下面就自己所用到的方面来详细介绍一下,来记录自己的学习。
首先打开织梦后台的核心-频道模型-自定义表单。
添加新的自定义表单
在自定义表单名称处修改你的表单名称,点击完全公开以作测试查看。确定。
编辑表单、添加字段
表单提示文字元素就是显示在页面的提示,数据类型根据需求选择,当选择其他的标签,例如option时,在下面的默认值框内添加选项。
添加字段完成后即可生成一个自定义表单。
点击前台预览,发布信息,即可看到表单。
输入内容,点击提交,就可以看到自己的表单内容了。
此时,应该不希望用户看到其他人提交的内容,回到后台,编辑表单,选择不公开,这样只有管理员在后台可以看到用户提交的信息。
表单样式的修改。
在后台点击前台预览,发布信息,查看此页面的源代码,拿出form/form之间的代码,放入到你需要的页面中,可以加入一些css样式。
根据需要,可以在表单的三个文件中修改。三个文件在templets/plus中。
在某些情况下,我们肯能不需要表单提示文字。这样我们只需拿出form和两个表单input,同时最重要的是加上下面红色的两行input,只有这样,后台才能识别你的发布内容。
防止提交为空。
在plus/diy.php中找到
elseif($do == 2)
{
$dede_fields = empty($dede_fields) ? : trim($dede_fields);
这一行,大约在40行左右,然后在下面添加这段代码。
if($required!=){
if(preg_match(/,/, $required))
{
$requireds = explode(,,$required);
foreach($requireds as $field){
if($$field==){
showMsg(带*号的为必填内容,请正确填写, -1
);
exit();
}
}
}else{
if($required==){
showMsg(带*号的为必填内容,请正确填写, -1);
exit();
}
}
}
当上述方法行不通时,可以修改下列模板:
这两个模板在织梦的根文件dede/templets里。
1、修改diy_field_add.htm,23行左右添加代码
var necessary = theform.necessary[0].checked?theform.necessary[0].value:theform.necessary[1].value;
替换字符串,大概在56行
替换revalue = ?field:+fieldname+ itemname=\+itemname+\ autofield=\1\ type=\+dtype+\ isnull=\+sisnull+\ default=\+vdefault+\ ;
为revalue = ?field:+fieldname+ itemname=\+itemname+\ autofield=\1\ type=\+dtype+\ isnull=\+sisnull+\ necessary=\+necessary+\ default=\+vdefault+\ ;
2、diy_field_add.htm,大概125行/tr后面,添加代码
tr?
? ? ? td bgcolor=#FFFFFF
? ? ? strong是否为必填项:/strongbr/
? ? ? span class=STYLE2防止恶意提交表单/span
? ? ? /td
? ? ? td bgcolor=#FFFFFF
? ? ? ? input name=necessary type=radio ?value=true class=np checked=1 /
? ? ? ? ?是
? ? ? ? ?nbsp;?
? ? ? ? input name=necessary type=radio ?value=false class=np /
? ? ? ? ?否
? ? ?/td
? ? /tr
3、修改diy_field_edit.htm,18行左右添加代码
var necessary = theform.necessary[0].checked?theform.necessary[0].value:theform.necessary[1].value;
替换字符串,大概在38行
替换revalue += isnull=\+sisnull+\ default=\+vdefault+\ ;
为revalue += isnull=\+sisnull+\ necessary=\+necessary+\ default=\+vdefaul
显示全部