怎样给Dedecms织梦网站自定义表单设置必填项
删这个没关系,不知道你用什么编辑的,用记事本很容易出错。帝国、dede这些信息我都改过,没出现过问题,建议本地重新下个新的安装包测试下,记得用dreamweaver等专业工具来修改,尽量少用记事本,有时候回退操作会导致代码乱掉。
进入后台内容模型管理,点击第5个,产品,后面第一个选项,修改,里面有9个字段,分别点最后的修改进入,进去后什么也不用做,确定后返回,9个都来一遍,就好了。
如果不行就进入MYQSL数据库把所有DEDE数据表全部删除了。
再次重新安装问题就应该解决了
1编辑器打开plusdiyphp
2在40行左右找到此行代码:
$dede_fields=empty($dede_fields)'':trim($dede_fields);
3在这一行代码之下,加入代码,复制的话删掉代码中的空行
//增加必填字段判断
if($required!=''){
if(preg_match('/,/',$required))
{
$requireds=explode(',',$required);
foreach($requiredsas$field){
if($$field==''){
showMsg('带号的为必填内容,请正确填写','-1');
exit();
}
}
}else{
if($required==''){
showMsg('带号的为必填内容,请正确填写','-1');
exit();
}
}
}
//end
4保存完成后,在表单模版页面找到这行代码:
<formaction="/plus/diyphp"enctype="multipart/form-data"method="post">
在这行代码之下,加入代码:
<inputtype="hidden"name="required"value="数据字段名,数据字段名"/>
注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项
添加新字段--“表单提示文字”:姓名--“字段名称”:name
添加新字段--“表单提示文字”:邮箱--“字段名称”:email
此行代码应为:
<inputtype="hidden"name="required"value="name,email"/>
这样就把这两个选项设置为必填项了,如果没有填写就提交,会打开窗口提示“带号的为必填内容,请正确填写”,当然,这一句话可以改成其它的文字
网上看到另一种方法,未测试,仅作为资料收藏
js方法:
1先在要发布表单的模板上加
<scriptsrc='你的路径/jsjs'type="text/javascript"></script>
2在你自定义的路径新建文件jsjs,然后复制以下内容粘贴保存,代码:
<!--
$(document)ready(function()
{
//验证
$('complain')submit(function()
{
if($('name')val()==""){
$('name')focus();
alert("用户名不能为空!");
returnfalse;
}
if($('tel')val()=="")
{
$('tel')focus();
alert("联系电话不能为空!");
returnfalse;
}
if($('title')val()=="")
{
$('title')focus();
alert("标题不能为空!");
returnfalse;
}
if($('text')val()=="")
{
$('text')focus();
alert("具体内容不能为空!");
returnfalse;
}
})
});
-->
注:
$('complain')submit(function()//complain为自定义表单的ID,如果生成的表单没有可以自行加上,即id="complain"
if($('name')val()==""){
$('name')focus();//name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
3设置好后更新就可以看到效果了
希望本文所述对大家的dedecms建站有所帮助。
一共是两大步,
首先是常规选项。常规选项中需要改动的地方不大,除了栏目标题和路径,其他的完全可以不改。
修改栏目的常规选项
可以选择为频道封面
当然,因为单页类栏目本身是不用发表文章的,所以栏目属性使用“频道封面”倒是似乎更加贴切一些,以后更新的时候可以一目了然。
其实不进行修改也是可以的,因为这里并不关键,关键的是下面的高级选项的设置。
其次是高级选项。高级选项中,有设置模板的地方。这里就需要注意了,因为不管是我们选用“频道封面”还是“最终栏目列表”,其默认的模板都是无法实现我们要制作的单页内容的,那么我们就需要自定义一个模板。假设我们使用singllepagehtm来实现单页面的调用,那么我们就需要对其模板进行设置,如果是选频道封面就修改频道封面,反之则修改最终栏目列表。以“最终栏目列表”为例,如图:
高级选项中修改模板设置
最后是栏目内容。栏目内容,就是我们实现动态更新的栏目内容了。我们看到,dedeCMS提示我们栏目内容是替代原来栏目单独页的更灵活的一种方式,可在栏目模板中用{dede:fieldcontent/}调用,通常用于企业简介之类的用途,所以我们只要在这里添加企业简介之类的内容,就可以了。而不用笨拙的去修改静态页面。
一切妥当之后,我们进行第二大步——修改singlepagehtm模板。
修改模板很简单,我们找到templets路径下相应模板分类的singlepagehtm,然后我们对其进行编辑,我们看到,原始的singlepagehtm是调用的{dede:fieldbody/}这里是调用普通文章的内容,我们要做单页模板,只要修改调用的地方为{dede:fieldcontent/}就完事大吉了。
修改模板的调用内容
我们看到还有个相关页面,这里我们弃之不用倒显得浪费了。
可以利用起来的相关页面
我们也可以对其进行一番改造,调用处相关的一些单页类的栏目来起到增加内链的作用。调用很简单,假设我们企业简介的ID为1,其他单页类栏目ID分别为2、3、4的话,我们可以这样写来实现这些栏目的调用:
{dede:channelartlist typeid='9,12'}
{dede:type}
[field:typename/]
{/dede:type}
{/dede:channelartlist}
保存,生成栏目就可以看到效果了。当然默认的模板是有些寒酸,不过我们可以自己制作模板让其更加美观一些,那就看你CSS运用的怎么样了!我们看一个效果比较美观的:
通过栏目内容调用的单页面
如果你有更好的方法来制作可以动态更新的单页的话,欢迎大家留言板留言,本站感激之至。
好今天的dede每日一课就到这里,欢迎大家关注其他的中国SEO的dede建站每日一课的内容。同时,我们热烈欢迎会员和学员投稿,具体的投稿方式为,先注册会员,然后点击发布文章即可,如果通过审核发布成功,本站将会有小礼品相送哦!~
0条评论