资源预览内容
第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
第9页 / 共9页
亲,该文档总共9页全部预览完了,如果喜欢就下载吧!
资源描述
织梦的自定义表单可以实现许多实用的功能,下面就自己所用到的方面来详细介绍一下,来记录自己的学习。一 首先打开织梦后台的核心-频道模型-自定义表单。二 添加新的自定义表单在自定义表单名称处修改你的表单名称,点击完全公开以作测试查看。确定。三 编辑表单、添加字段表单提示文字元素就是显示在页面的提示,数据类型根据需求选择,当选择其他的标签,例如 option 时,在下面的默认值框内添加选项。添加字段完成后即可生成一个自定义表单。点击前台预览,发布信息,即可看到表单。输入内容,点击提交,就可以看到自己的表单内容了。此时,应该不希望用户看到其他人提交的内容,回到后台,编辑表单,选择不公开,这样只有管理员在后台可以看到用户提交的信息。四 表单样式的修改。在后台点击前台预览,发布信息,查看此页面的源代码,拿出之间的代码,放入到你需要的页面中,可以加入一些css 样式。根据需要,可以在表单的三个文件中修改。三个文件在templets/plus 中。五 在某些情况下,我们肯能不需要表单提示文字。这样我们只需拿出和两个表单,同时最重要的是加上下面红色的两行,只有这样,后台才能识别你的发布内容。六 防止提交为空。在 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();elseif($required=)showMsg(带*号的为必填内容,请正确填写, -1);exit();当上述方法行不通时,可以修改下列模板:这两个模板在织梦的根文件 dede/templets 里。1、修改 diy_field_add.htm,23 行左右添加代码var necessary = theform.necessary0.checked?theform.necessary0.value:theform.necessary1.value;替换字符串,大概在 56 行替换 revalue = 后面,添加代码是否为必填项:防止恶意提交表单 是否3、修改 diy_field_edit.htm,18 行左右添加代码var necessary = theform.necessary0.checked?theform.necessary0.value:theform.necessary1.value;替换字符串,大概在 38 行替换 revalue += isnull=+sisnull+ default=+vdefault+ ;为 revalue += isnull=+sisnull+ necessary=+necessary+ default=+vdefault+ ;4、diy_field_edit.htm, 大概 139 行 后面添加代码是否为必填项:防止恶意提交表单 GetAtt(necessary)=true) echo checked=1 ; ? np /是 GetAtt(necessary)=false|$ctag-GetAtt(necessary)=) echo checked=1 ; ? np /否 5、表单提交处理:修改 plus/diy.php 文件找到$addvar = $addvalue = ;在上面添加代码/验证必填字段$row = $dsql-GetOne(SELECT * FROM #_diyforms WHERE table=$diy-table);$fieldset = $rowinfo;require_once(DEDEINC./dedetag.class.php);$dtp = new DedeTagParse();$dtp-SetNameSpace(field,);$dtp-LoadSource($fieldset);if(is_array($dtp-CTags)foreach($dtp-CTags as $tagid=$ctag)if($ctag-GetAttribute(necessary)=true & empty($ctag-GetName() showmsg($ctag-GetAttribute(itemname).不能为空!, -1);exit;五 测试时,发现搜索大写字母,织梦会自动过滤掉,修改方法如下:打开/include/helpers/filter.helper.php 并用编辑器打开,找到程序的第 169 行,将其修改为:if(preg_match(/0-9a-zA-Z#./,$keyword$i) 就好了。好了,最近也就遇到这么些问题,后面有问题会继续记录。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号