怎样给Dedecms织梦网站自定义表单设置必填项
{dede:field name='size' runphp='yes'}
$a=explode(",",@me);
@me = "";
foreach($a as $k)
{
@me="<li><input type='radio' name='size' value='$k' id='size' /><a href='javascript:void(0);' class='size_radioToggle'><span class='value'>$k 码</span></a></li>";
}
{/dede:field}
之前帮朋友用织梦写过一个商城的功能,以上代码就可以完成你说的需求
{dede:field name='size' runphp='yes'}
name='size' 就是你的自定义字段, 使用foreach 循环出来
既然你用过kesioncms应该知道模板的绑定洛,你先到织梦后台系统设置将模板风格换成你自定义的名字(当然后台主页模板绑定的路径也要换),你在到根目录下的templets文件下建自定义的模板名字,dedecms里面主页是indexhtm,栏目也都是list_自定义名字htm,而内容页都是article_自定义名字htm,这些可以根据你的栏目名随意设定,设定完了你到后台分别添加栏目,在模板绑定里面可以设定自定义的模板,至于自定义标签在织梦里面用得少(和kesioncms不太一样呵呵,我觉得还是kesiongcms好用),其实都是用系统的标签来调文章,栏目什么的,这个你可以根据帮助文档里面的标签,或者在templets/default下的系统默认模板里面找相应的标签,或者在百度下载dedecms标签进行防站就OK了!顺便说一下cms只要懂一种其它的只要找到模板的位置,我觉得就ok了,至于标签调用网上大把的呵呵!!!
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建站有所帮助。
DedeCMS系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,由于DedeCMS支持自定义频道模型,用户自定义新频道模型后,还需要按该模型的字段设计一套新的模板,此外,DedeCMS也支持使用风格的形式使用模板,默认风格是default,它表示系统默认使用{cmspath}/templets/default这个文件夹的模板。
一、概念
1、板块(封面)模板:
指网站主页或比较重要的栏目封面频道使用的模板,一般用“index_识别IDhtm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。
2、列表模板:
指网站某个栏目的所有文章列表的模板,一般用“list_识别IDhtm”命名。
3、档案模板:
表示文档查看页的模板,如文章模板,一般用“article_识别IDhtm”命名。
4、其它模板:
一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。
二、命名,DedeCMS模板默认命名规则如下
1、模板保存位置:
模板目录:{cmspath}/templets/样式名称(英文,默认为default,其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件}。
2、模板文件命名规范:
(1)index_识别IDhtm:表示板块(栏目封面)模板;
(2)list_识别IDhtm:表示栏目列表模板;
(3)article_识别IDhtm:表示内容查看页(文档模板,包括专题查看页);
(4)searchhtm:搜索结果列表模板;
(5)indexhtm:主页模板;
四、二次开发
在V53中已经将标签开发分离出来,可以通过后台[模板]-[标签代码管理],点击“新增加一个新的标签”来创建一个自己的标签,标签文件名为:标签名libphp。
0条评论