1 两步表单

admin 的头像
Submitted by admin on 星期二, 2015-06-16 09:59

​作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com

让我们来看第一个实例,我们先介绍一下,实例的背景。我们想建立一个联系我们的表单页面,我们知道有两种方法可用,一是使用Drupal核心自带的contact模块,另一个就是使用webform模块,通常这两个模块可以满足大多数的情况。但是假如,客户希望用户提交联系我们表单的时候,先确认一下,确认无误以后再提交。这在实际中,也是常见的需求。此时,contact模块和webform模块就不大适用了。每个客户对于表单元素的需求也各不相同,所以此时我们可以选择通过定制自己的模块来实现。

Drupal版本:

第6章 Form API

admin 的头像
Submitted by admin on 星期二, 2015-06-16 09:58

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
Drupal提供了一套表单API,用来生成、验证和处理HTML表单。表单API将表单抽象为一个关联数组,里面包含了各种属性和对应的值。在生成表单页面时,呈现引擎会在适当的时候将数组呈现出来。表单API为我们带来了很多好处,由于我们将表单表示成为了结构化的数组,所以我们可以添加、删除、重新排序、和修改表单。当我们想用一种干净的方式,来对其它模块创建的表单进行修改时,这会特别方便。此外,表单API还对表单操作进行了保护,从而能够有效的防止表单注入攻击。对于任意的表单,我们可以使用表单API为其添加附加的验证和处理函数。

Drupal版本:

16 维护我们的数据库表

admin 的头像
Submitted by admin on 星期二, 2015-06-16 09:38

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
​ 我们在前面定义了block_morelink这个数据库表。但是有人在使用的过程中,出现错误,并且在我们的项目页面提交了bug,http://drupal.org/node/1159446,“Install Exception on new site: Syntax error or access violation: 1071 Specified key was too long”。这个问题的原因是,url,title的长度加在一起超过了主键的限制。此时我们需要修改数据库模式的定义。

Drupal版本:

14 二进位:Blob

admin 的头像
Submitted by admin on 星期二, 2015-06-16 09:36

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
​二进位大型对象数据类型用于存储二进制数据。二进位数据包括音乐,图片,或者视频。Size的可选值有normal 和big。Field模块的field_config表中data字段就是使用的这种类型,用来存储序列化的数据。

Drupal版本:

13 Numeric

admin 的头像
Submitted by admin on 星期二, 2015-06-16 09:34

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
​数字数据类型允许你声明数字的精度和小数位数。精度指的是数字的有效数字位数。小数位数指的是小数点右边的数字位数。例如,123.45的精度为5,小数位数为2。这里不使用size键。到目前为止,Drupal核心中还没有用到该字段。Ubercart的uc_products表中list_price字段用到了这一个类型。

Drupal版本:

12 Float

admin 的头像
Submitted by admin on 星期二, 2015-06-16 09:34

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
​浮点数字是用来存储浮点数据类型的。对于浮点数字来说,tiny, small, medium, 和normal型浮点一般是没有区别的;另外,big型浮点用来声明双精度字段。Ubercart的uc_products表中weight字段用到了这一个类型。

Drupal版本:

11 Serial

admin 的头像
Submitted by admin on 星期二, 2015-06-16 09:33

作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
一个序列字段是用来保存自增数字的。例如,当添加一个节点时,node表中的nid字段将会自增。序列字段必须索引;通常会把它作为主键进行索引。
'nid' => array(

Drupal版本:

页面

Subscribe to Think in Drupal RSS