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语句来调用数据。


猜你喜欢
- 链接策略是做好SEO需要考虑的重要问题,今天看了Matt Cutts早些在3月份写的一篇文章,叫做:每个网页有多少的导出链接合适?按照Goo
- 时光倒流啦,想想看七年前,你还在干什么呢,还想得起来吗?那时的互联网是什么样子,你还记得吗?七年前,我那时才上初二,当时也不知道在那跑着玩呢
- 1、经常换网站程序。有很多新手在接触网站的时候,因为对SEO没有太深的了解,往往凭借个人喜好,经常变更网站程序。殊不知网站建成之初,蜘蛛就形
- 最近在实施网站优化过程中碰到了站内搜索,本以为是个很简单的事情,可一试才发现水很深,下面是学习心得报告(有删减),欢迎指正。什么是站内搜索在
- 11月26日消息,178.com与百度游戏频道今日在北京联合宣布:178游戏网与百度游戏频道达成内容深度合作,新版百度游戏频道今日正式上线,
- 你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧。最近,偏偏服务器遭受的风险又特别大,越来越多的病毒、心怀不轨的黑客,以及那些商业
- 很久没有在博客上写关于百度seo的内容了,最近发现了百度这样一个现象,百度会根据链接文字修改网站标题。首先我们在百度搜索网易,排在结果中ww
- 升级到最新版本的VMware workstation,在使用虚拟机搭建服务器的时候发现Xshell连不上虚拟机,就ping了下,发现主机和虚
- 昨天写项目时需要用到Mysql的衍生版本percona, 就想用Doker来安装.结果踩了一晚上坑, 今早终于解决. 现记录在此.这个坑原因
- 详细介绍了Linux环境下利用Rpm包安装Mysql的方法步骤。◆1、下载MySQL的安装文件安装MySQL需要下面两个文件:MySQL-s
- 核心提示:如何让攻击者无缘Webshell那是代码部分的问题,我们做为管理员应该如何加固Web服务器,让攻击者在获得了Webshell之后无
- 11月13日晚间消息,据消息人士透露,腾讯已向北京第一中级人民法院提起诉讼,要求判令搜狗拼音输入法停止虚假宣传行为、修改搜狗拼音输入法软件的
- 1、打开httpd.conf,查找Listen:80,在下面一行加入Listen:8080;2、查找#Include conf/extra/
- 百度贴吧里至今还能搜出不少对曾先生的诽谤帖。本报记者陈伟斌摄昨日,记者接到惠东一位曾先生的求助电话,他说一个月前,百度贴吧里出现了几个透露了
- 日前一起关于不正当占用他人姓名作为注册域名的案件在美国结束审理,法院裁定犯案者向所以涉案的人员归还本属于他们的域名。在这起案件中,被占用域名
- 做seo优化,友情链接的整站链接和只是首页链接是有很大区别的。会分散权重。很多常见wordpress主题模板,都是设置全站友情链接的,所以我
- 近期,博客网将隆重推出首个联合运营的网页游戏“博客战三国”,此举同时也意味着博客中文第一生活社区开始全面向游戏业进军。据悉,此款网页游戏是博
- Godaddy主机用户怎样创建自己选择的新名字作为目录名的新目录呢?首先. 登陆你的Account Manager.第二. 在My Prod
- 有时在博客评论和论坛里看到有朋友说我们写的SEO技巧不够具体,感觉无从下手,这样的问题经常让分享技巧的人也有点无奈,不知道该具体到什么程度。
- 继上次写了篇《让你的动易SW6自动生成站内链接》后有朋友提到了一个问题。如果说我不想重新生成文章,但又想把原来的这些文章的标题添加到站内链接