这几天刚开始学习Drupal, 把自己的一些理解记录下来, 希望大家能指正, 也更希望结识正在学习的同道, 一起努力.
从头学习Drupal--基本概念一
节点(Node)
我们知道Drupal是一个内容管理系统(CMS), 而一般我们所管理的内容, 就是新闻或博文之类的文章; 在通常意义上, 这些就是Drupal中的节点, 但Drupal并不是只能管理文章类内容, 它对所管理的内容进行了抽象, 形成了节点的概念. 如果我们学过面向对象的知识, 那我们就知道节点其实就是Drupal这个系统所管理内容的虚基类.
Drupal的核心定义了节点这个对象的各种抽象行为和基本属性, 同时它页实现了基于文本方式来表达内容的两种节点类型, :Page 和 Story. 自然节点类型就是节点的具体实现了, 也就是节点的子类. 虽然Drupal的核心仅实现了简单的文本描述节点, 但它允许你可以自己扩展更多的节点类型. 目前Drupal社区已经有很多扩展模块实现了图像或视频内容的管理, 同时也有大名鼎鼎的CCK模块允许你定义更为节点的更多细节, 这里我们略过不表, 下面为了更进一步了解节点的概念, 我们到数据库(node表)看看它的主要字段:
- 节点ID, 自动增加的唯一索引;
- 版本ID, 用来追溯内容修订;
- 属性 比如发布状态, 语言, 类型等等;
- 操作信息 创建或修改时间, 操作者等;
- 内容 标题部分, 内容部分, 可能有的节点类型没有此实际数据;
评论(Comment)
评论虽然也是文章形式, 而且它和普通文章也很象, 但实际上它不是一种节点类型, 它被实现为一种依附于节点的用户反馈机制. 它与节点是否存在本质区别, 是否有必要分成两类对象, 这个好像也一直在讨论之中, 不知道在Drupal 7中会不会把它合入节点框架中. 但我个人认为, 目前Drupal似乎还没有节点与节点发生关联的情况, 这样把评论与节点分开是非常清晰的, 如果后续有此类需求, 则把评论纳入节点管理是顺理成章的事.
分类(taxonomy)
形象的说就是给节点分类, 它由一系列术语表组成, 每个术语表可以定义n多的术语, 这样你可以用术语对你的内容进行标记, 从而达到分门别类的作用. 当然你的分类是否合理, 是否有效, 还得看你的术语表定义了. 比如说一篇技术文章, 你可以从其使用的技术领域来划分, 也可以从其应用的领域来划分, 甚至可以从作者的性别进行划分. 总之, 分类就是个门纲目科属的工作, 不过这可不是个简单的活, 记得专门好像还有图书管学来专门研究图书的分类呢.
边学习边总结, 又补充一个分类的概念, 因为这个也是Drupal核心中针对内容的相关概念