作者:老葛,北京亚艾元软件有限责任公司,http://www.yaiyuan.com
在CCK进入Drupal7内核的时候,很多人进一步思考的CCK的优势,并且认识到,很多其它的系统,比如用户系统、分类系统、评论系统,也都存在利用CCK的需求。因此,在Drupal7下,对CCK模块做了进一步的扩充,并将其更名为Field模块,使得用户可以向节点、评论、分类术语、用户上面添加字段。而这种扩充的结果,就是引入了实体(Entity)这样的一个概念,实体是伴随着Field进入Drupal内核,而衍生抽象出来的一个概念。什么是实体呢?这种概念性质的东西,不是一句话就理解透的,我们看看例子:
在Drupal7下,节点、评论、用户、分类都是实体的一种。对于实体,在Drupal7下面,我们可以这样理解,具有相同属性,并且可以为它添加字段的一种东西。当然,有些实体,是不能够向它们上面添加字段的,这种情况也是存在的。当我们定义一种实体的时候,可以为它定义一组公用的属性,然后基于Field模块,可以为其添加各种字段。我们可以看到,评论,它是一种实体,所有的评论对象都具有公用的一组属性,由于可以往实体上面添加字段,所以我们这里,就不存在把评论系统建立在节点系统之上的问题了,我们这里既利用了Field模块的灵活性,也不用额外的处理并不属于该类实体的属性。这是一个进步。