【1】根据结构的功能结构的不一样,drupal划分为,node,user,comment等不一样的结构,他们的结构是不一样的。他们能够做为四个不一样的抽象类,根据这个抽象类,分别有一套hook函数去控制实现的流程。分别有一套theme函数对应一套展现界面。node
【2】用户、区块和评论不是节点。在这些特定的数据结构中,为了适应它们各自的特定目的,它们每个都拥有本身的钩子系统。数据结构
节点是一段内容,有相同的结构,也有不一样的部分,相同的部分用保持一致,不一样的部分用不一个字段去标识。用面向对象的方法去理解节点,节点是一个抽象类,而博客,论坛等具体的功能性站点里的东西能够视做节点的实例化。函数
节点是一段内容(a piece of content),它是网站内容的基本组成单元。网站上的主要内容是由一个个节点组成的。经过观察网站上发布的各类内容(如新闻、博客、论坛帖子等),可发现它们都有以下的共同特性:网站
须要一个惟一的ID用于标识这个节点;3d
都有标题和内容;版本控制
须要记录发布时间、修改时间和发布者。对象
用面向对象的分析问题的方法,能够将这些内容进行抽象出一个“节点类”,节点类具备最基本的属性,而其余类(如博客文章、论坛主题等)均继承自此类,增长一些专属的属性。所以,能够认为Drupal网站中的每一个节点是节点类的一个实例。blog
如图3-1所示为一个网站中的节点类的实例。能够看到,每一个节点类除了标题、内容、发布者等共同的属性外还有专属属性。使用这样的图对网站内容进行分析是一种很好的方法。继承
图3-1 节点类结构图博客
因为节点的共性,Drupal为节点的建立和编辑准备了相同的页面,这样使管理员能够在一个页面中完成所有节点的建立。
content type
内容类型(Content type)就是在抽象层次上对节点的一个归类,如上面提到的新闻和博客文章,是两种不一样的内容类型。不一样内容类型的文章用于不一样的使用场景。每个节点都必须属于某个内容类型,一个内容类型下能够有多个节点。
Drupal默认提供两种内容类型:页面(Page)和故事(Story)。这二者没有实质的区别,只是在显示时,故事节点会显示节点的发布信息, 如时间和发布者等;但页面不会显示。页面常常用于存储如“公司介绍”等介绍性文字信息;而故事一般用于存储如“站点新闻”、“公告”等内容,且在浏览时可 显示发布者和发布时间等信息。
Drupal的后台管理有“内容类型”管理功能,管理员能够建立新的内容类型并设置每一个内容类型具备哪些属性。除标题、内容属性外,还提供了诸如是 否支持评论、是否开启版本控制等功能选项。同时,在内容类型的设置中能够对节点的三个基本属性——是否发布在首页、是否置顶和是否发布——有选择地开启。
可是,像3.1节如图3-1所示描述的“新闻节点类”,除了基本属性外,还须要“文中插图”这个额外的属性。这时须要使用第三方模块Content Construction Kit(简称为CCK)提供的为节点增长字段的功能。