PHPCMS、帝国CMS及织梦对比(七)之自定义表单功能分析
作者:落叶 来源:pmume.com 发布时间:2011-08-26 12:50:33
站长朋友们在使用CMS建站的过程中有时候少不了要做一些供用户填写信息的表单,如果是单独去写程序去实现又显得小提大作,或者也显得麻烦,需要创建存储数据的数据表,写数据操作文件及改数据提交表单模板,而CMS的自定义表单功能则能很好的满足这样的需求,不需要太多的编程知识,一路点下一步,添加自定义字段,设置字段的属性,然后选择表单的模板,前台自动生成数据提交表单界面,通过程序自动获取数据字段完成对数据的写入和读取处理,大大简化了表单创建过程,然而实际不同CMS中自定义表单细节考虑的不同,仍然会给站长朋友们尤其是对编程了解不多的朋友带来比较多的困惑。
本文中落叶就PHPCMS、帝国CMS及织梦的自定义表单功能细节作一些对比分析,供大家参考。
自定义表单数据表的创建
建立自定义表单的第一步基本都是提交表单的相关数据如表单名称、表单数据表名、表单介绍、选择表单模板等。
PHPCMS:
DEDECMS:
对比上图所示PHPCMS和DEDECMS表单创建界面,PHPCMS表单可以设置是否开启、开始和结束时间,并且可以设置是否发邮件,这三点附加功能是挺不错的,尤其是表单提交后自动给指定邮箱发邮件的功能,很方便站长及时了解到用户提交的信息。
不过,PHPCMS只能生成表单页,不支持前台对表单数据的直接显示,而DEDECMS中除了可设置表单发布模板,还可通过自定义列表模板、内容模板来对用户提交的表单数据进行展示,同时也可选择是否公开这些数据,优点是方便数据自动展示,缺点时模板不是以选择的方式呈现,而要手动填,一旦input中默认值被删除,用户不能直观了解到该填哪类模板。
当然,对于数据的展示上,无论是PHPCMS和DEDE中即使没用后台列表模板和发布模板的设置,也可以通过数据调用标签来调用。PHPCMS中使用GET标签调用即可,而DEDE中则可通过SQL标签来调用,不过两者前提是都需要大家了解SQL知识。DEDE的list_diyform.htm中内置了对表单数据的调用,相对更适合新手朋友们,但对于本身对SQL或编程有一些了解的朋友,DEDE这里的设计反而显得局限了。针对数据的调用这块,后面落叶再作详细的分析。
自定义字段添加及设置
PHPCMS:
DEDECMS:
对比二者的自定义字段设置界面发现,二者除了基本的设置字段名称,字段提示文字之外,都内置有对字段内型的设置。和自定义模型一样,字段类型设置的过程其实都整合了表单界面自动生成及数据自动展示过程,用户通过选择不同的字段类型如附件类型,表单界面不需要自己写文件上传功能,会自动生成文件上传框,能够很方便的实现复杂的表单功能。
PHPCMS和织梦数据(字段)类型的区别在于细节设置上。PHPCMS自定义字段类型有单行文本、多行文本、选项、编辑器、日期和时间、数字、图片、地区、文件等,DEDE的字段类型有单行文本、多行文本、HTML文本、整数类型、小数类型、时间类型、使用option下拉框、使用radio选项卡、CHECKBOX多选框、图片、附件类型等。实际二者的字段类型功能模块差不多,该有的都有,只是DEDE的描述似乎不够直观,初级用户不是太易理解,如单行文本(varchar)和单行文本(char),弄不好好多用户都会纠结这俩个有啥区别,varchar是啥,char是啥呢,DEDECMS中细节提示一向优于PHPCMS,不过这里的处理似乎不够细致,或者DEDECMS认为用到自定义表单的应该都不是初级用户?
另外,PHPCMS中每个字段类型都有详细的设置如前台展示样式、默认值,编辑器宽高等,DEDECMS这里设计则明显过于简略。
自定义表单的调用(引用 )
一般的设计每个自定义表单生成后,都会提供一个独立的访问地址,而实际站长朋友一般不会限满足于自定义表单的独立访问,更希望的是能将表单嵌入到一些特定的页面(如专题页)中,和页面整合在一起。
PHPCMS中提供了很方便的调用功能,即直接在模板中使用{cache_read(1.html)}来调用ID为1的表单,实际是通过include目录下的global.func.php公共函数文件中的cache_read函数来读到以静态页形式缓存的表单页。这样,表单文件可以很好的以静态HTML的形式整合到目标页面中。
DEDECMS中似乎没有提供很好的表单调用方式。前段时间有程序员在用织梦套站时需要给专题加上评论功能,如果用DEDE的留言板改不太方便通用,所以考虑用DEDE的自定义表单功能来实现,需要将表单界面嵌入到专题页面中来并和专题ID相关联,能够直接在专题页面提交数据和调用数据,这时候发现调用很不方便,最粗糙的方便就是使用IFRAME直接框进去了,但显然这样做让人感觉不太好,好一点的则把表单页以JS的形式输出,以JS的方式引用,或者体验更好一点的是直接通过AJAX来调用了,而实际还是把问题复杂化了。能够写AJAX来操作的,那也基本不会在这样的表单处理的问题上纠结了。
当然,PHPCMS中以缓存方式来调用表单也同样产生了一些新的问题,落叶在实际使用中常遇见表单模板更新了,但表单调用怎么也更新不了的情况,问题则出在缓存更新的问题上,PHPCMS很多的优点源于他的缓存,而也有很多令人纠结的问题也是源于他的缓存。
自定义表单数据的调用
用户通过自定义的表单提交了数据,一些情况站长只希望管理员能在后台看到,而另一些情况,则是希望能对这些数据进行展示,在网站上进行调用。
上面提到过,DEDECMS默认提供了对表单数据进行调用展示的模板,也对数据是否展示作了权限控制。但实际数据展示更多的情况是希望能在网站的页面进行整合,而不仅仅是单页列表,而DEDECMS默认的模板中的数据调用涉及到PHP原生语法,不太适合其它页面的整合,所以需要使用数据调用标签来调用。最直接的那就是SQL标签来调用了:
如调用自定义表单1中的ID为1的数据
{dede:sql sql='Select * from dede_diyform1 where'}
[field:title/]
{/dede:sql}
PHPCMS中的数据调用也基本类似,直接使用GET标签:
{get:sql sql='Select * from phpcms_diyform1 where'}
[field:title/]
{/get}
不同之处在于PHPCMS后台提供了GET标签生成的功能,用户可以方便在后台模板在线管理处通过选择的方式生成SQL语句来调用数据。
猜你喜欢
- 如何能够快速检测定位出局域网中的ARP病毒电脑?面对着局域网中成百台电脑,一个一个地检测显然不是好办法。其实我们只要利用ARP病毒的基本原理
- 在Exchange Server2007之前的版本中,管理邮件的通讯录是一件非常让人头疼的事情(特别是在大量的成员机构管理上),管理员不得不
- 1、将当前位置的“主页”字样,改为“你自己的网站名称”。解释
- Godaddy主机用户如果上传文件到网站的话,需要一个FTP客户端。FTP代表File Transfer Protocol (文件传输协议)
- 一.分析选择关键词了解客户目标受众人群、受众率,推测有效的行业买家年龄段常用搜索习惯及搜索行为;选择精准产品关键词并骤一剖析筛选,确定最终预
- 11月2日是站长第一次利用西联取款的好日子,但是,还是有部份Google adsense用户在农行取款时,发生姓名出错的问题,如:没有名,只
- 编辑smbpasswd文件从中删除不必要的账号以防止安全隐患,然后用以下命令添加新samba用户:bsd# /usr/local/samba
- 09年快乐女生杭州赛区10强解惠清。 09年的快乐女生从300强进60开始前,就有很多网友博友曾疾呼今年的快女将告别前几年的中性时
- 个人站长如何选择做站项目,说白了就是如何给自己的网站定位,确定自己的网站做什么主题,献给打算做站或者重新做站的站长以为他们选择做站主题提供个
- 作为一个合格的站长,知道搜索引擎的更新时间和频率是应该的.也是应该具备的一种基本素质,百度作为搜索老大,可以说是万千站长都靠着他,尽管站长们
- 11月26日消息,继入股推动在华谊兄弟创业板上市之后,分众传媒CEO江南春有望在创业板梅开二度。天涯社区总裁邢明今天在三亚透露,江南春目前已
- 3月19日消息,据国外媒体报道,有业内人士日前指出,在宽带连接几乎无处不在的今天,Google的搜索结果页面已经显得太单调。众所周知,Goo
- 虽然自己做站长没有几年,但是经历了从03年到08的,也有了别人没有的经验和体会,其中很重要的一点就是明白了在中国做站长最重要的一点是什么?就
- 酷影小何是我在网上用得最多的名字,我从2003年开始接触计算机网络,以前都是做免费的个人主页,2006年接触kingcms后,在大S的影响下
- 有许多网站防止图片外链,比如百度贴吧,QQ空间,新浪博客等。如果在其他地方引用这些网站的图片,或通过RSS阅读器等去阅读,得到的将是类似下面
- 问题:使用GetArticleList标签,,显示的时间比较长时会换行解决方法。 解决方法:这里只要修改下文件即可,找到 Include/P
- 今天谈一个关于搜索引擎优化细节得有点无聊的问题。以前在论坛里有朋友问,什么样的文章长度有利于SEO?首先先说两句基本上永远正确的废话原则:1
- 从 www.godaddy.com 登录后 选择Domains 选项下的My domains,如下图: 或者另外的一种办法:进入我
- 包括winform和webform两套系统。其中winform负责收集服务器信息,webform用于远程查看收集的信息(从数据库)。各种状态
- 说起电子邮箱,相信不少朋友都会有不下两三个吧?接下来我们将向你介绍如何用计算机来架设一个邮件服务器。一、下载安装WinMail1)首先有请我