Drupal核心功能介绍与使用教程

一般功能/特征
Drupal的系统所设置的一般功能包括:联合协作文档编写(Collaborative Book)、友好URL(Friendly URLs)、模块(Modules)、个性化(Personalization)、基于许可权限的用户组管理系统(Role based permission system)、内容索引及搜索(Searching)等, 当然,还有两个在这里对管理员实用的特征,一是Drupal拥有强大的在线帮助系统以及完善的文档库,二是Drupal是完全开源的,Drupal基于 GPL许可发布,所以任何人都可以修改它、再发布它、使用它。下面将对除Drupal两个特征外的其它的功能进行详细的介绍。

模块(Modules)

Drupal强大的关键因素就是Drupal的模块系统,模块(Module)是Drupal的功能插件,我们可以通过启用/关闭相应的模块来开启 /关闭Drupal站点的某一功能,比如下面要讲到的Collaborative Book功能就是在开启了Collaborative Book Module之后才具有的功能。Drupal 的所有功能都是通过模块来实现,如果形像的说,把Drupal比作一个操作系统(如Windows),那么模块(Module)就相当于我们在 Windows中最常见的EXE类型文件(软件),在未安装它之前,它只是存在在安装了Windows系统的电脑的硬盘里的一个文件,没有任何的功能,但 是我们安装/打开/启用它之后,它就能在Windows环境下完成相应的功能,但是离开Windows之后,它又什么都不是。Drupal的模块也是如 此,Module在未启用的状态下,它只是存在在Module/文件夹下的一个文件 (文件夹),当我们通过Module管理页面启用了它之后,它才会运行。

Drupal就像Windows拥有很多软件一样拥有很多类型的模块,你可以在Drupal 官方的模块下载页面查看/下载你所需要的功能模块,在Home >>Administer >>Site building >>Modules模 块管理页面开启/关闭模块。通过模块我们能实现很多功能,Drupal网站也提供很多Drupal的用户/开发者编写的很多模块,但是并不是模块安装的越 多功能就越强大,我们应该按需定制,如果你只是想使用Drupal来建一个自己的个人博客,只要能想一个博客(如Wordpress)那样进行作业就行, 那你根本就没有必要开启Fourm、Hand Books等模块。在按需定制模块的同时,我们还得注意模块的选择,有可能会出现两个不一样的模块但是实现同样的功能的情况,这时我们应该多看看每一个模 块的使用者对此模块的评价,尽量选择评价高的那一款,这就像我们的杀毒软件有瑞星有卡巴一样,我们不可能两个都用,一般情况下我们只会选择好的那一个,如 果两个都用的话,那就适得其反了。

联合协作文档编写-手册(Collaborative Book)
联合协作文档编写(手册)是Drupal生成的一种特殊的节点,它可以由一个人维护,也可以由多人协作维护,一份手册可以包含有很多章节,每一章节 又可以划分为更小的分类等等。手册就像现实中的书一样,你可以通过建立一份手册来展示你的产品,或者设置为一份帮助文档(FQAs),当然也可以做为一个 小型的Wiki系统由众多用户来为你的某个项目编写帮助文档或者HankBooks。而且,你可以通过用户角色访问权限设置来规定哪一类用户可以访问、更 新、修改你所建立的哪一份手册,比如你可以让只有网站注册用户以上等级的用户类型才能够查看手册,只有网站编辑以上等级的人才能对手册进行修改等等,这些 都可以通过手册很容易的实现。

如果你要使用手册(Collaborative Book)功能,可以在Modules管理页面启用Book Module(Home >>Administer >>Site building >>Modules),安装了中文语言包的用户则应该是主页 >>管理 >>站点创建 >>模块 。启用手册模块之后,你可以在Home >>Administer >>Content management里看到内容类型(Content Types)多出了一个Book Page,这个类型就是手册类型,现在你可以通过Home >>Create content >>Book Page来新建一个手册。如果你已经建立了一份手册,则当你再一新建Book Page类型的内容时,你就可以选择这一新建页面的Book OutLine 属性,也就是设置这一页面是属于哪一份手册或者是新建手册的。

如果你在区块(Blocks)设置里,启用了手册底部的手册导航区块,则在手册的任何一页的最底部, Drupal会自动生成一个导航 区块,这个导航区块向你手册访问者提供下一页(Next )、上一页(Previous Page)以及上一级(Up)等链接,这些链接使得访问者可以很容易的查看他正在阅读的页面的前后页面以及此页面所属的上一级页面。

除了上面所说的一些手册的特性,每一个手册页面的最底部还有一个适合打印的版本(Printer-friendly version)的链接,当用户点击某个手册页面的这个链接后,Drupal会向用户展示此页面适合打印的版本,具体说来,就是将此页面除内容标题以及内容之外的的有东西全部隐藏,只显示为白底黑字加上一个标题及内容的页面。

拥有手册管理权限的用户可以在手册管理页面(Home >>Administer >>Content management >>Books )你可以查看网站中的所有手册,点击每一个手册后的编辑(Edit Orders And Titles)链接,就可以进入单个手册的管理页面,在这个页面里,你可以进行手册页面的删除、更改目录、移动、增加等操作。

拥有相应权限的用户还可以把非手册类型的内容归类到一个手册的大纲(OutLine)中,比如现在有一份手册名为Drupal Handbooks,这份手册就是Drupal系统的帮助文档,而现在有某位用户发表了一篇Story类型的文章,这篇文章可以做为一篇很好的 Drupal教材,则有相应权限的用户就可以将这一篇Story类型的文章归类到Drupal HandBooks这一份手册中。具体方法是,登陆Drupal之后,在这一篇文章页面的文章标题下方,会出现一个导航区块,点击大纲(OutLine)链接,就可以对这篇文章的OutLine属性进行设置了。

小结:使用Drupal 的手册模块你可以:

添加/新建一个新的手册页面 create content ? book page。
管理已经存在的所有手册:administer ? content ? books.
你可以对手册内容类型进行全局及其它设置: Home >>Administer >>Content management >>Content types >>BookPage
启用手册导航区块:administer ? block。
控制哪一类网站用户/角色可以访问、管理手册内容: administer >> access control。
你可以将非手册类型内容添加到手册大纲中以更好的对网站的内容进行组织:Other Content Page >>Out Line >>Choose The Book。

通过你的相像力,可以实现更多
友好链接(Friendly URLs)

Drupal使用了Apache的mod_rewrite模块,所以,只要服务器是Apache且启用了mod_rewrite模块,我们就可以在Home >>Administer >>Site configuration >>Clean URLs面 板中选择是否启用Friendly URLs模块。因为此模块使用了Apache 服务器的mod_rewrite模块,所以一般只有在Linux/Unix + Apache环境下才能使用,Windows + IIS环境根本就没有此功能。要知道你的主机是否支持此功能,你可以询问你的主机提供商,如果不支持的话,最好是重新选择一个主机。在你安装好了 Drupal之后,进入Clean URLs管理页面,在这里面有一个测试链接,点击它之后,如果你看到浏览器地址栏中的链接改变了页面没有出现找不到网页的错误,那也就是说你的主机支持此 功能。在Drupal 6.0之后,在安装Drupal的过程中,系统会自动对主机环境进行一次测试,如果测试结果为真,那么会自动启动Clean URLs功能。

基于许可权限的用户组管理系统(Role based permission system)

User模块是Drupal管理用户和权限的系统核心模块,通过它,我们可以很容易的对网站进行用户注册,权限分配等管理,在Home >>Administer >>User Management面板里,Drupal提供了发下几个选项:

搜索用户(Search Users):搜索用户即使用使用关键字进行搜索,Drupal提供通配符"*"功能,比如搜索"张*",则Drupal可以访问"张三"、"张四"等。
用户(Users): 列出、添加和编辑用户。
用户设置(Users Setting):配置用户的默认行为,包括注册时必需的内容、电子邮件及用户头像,还可以设置用户注册后,系统发送给用户的欢迎邮件的内容等
角色(Roles): 列出、编辑或添加用户角色。
访问控制(Permissions):通过选择角色的权限来确定其可使用的功能。
访问规则(Access Roles):列出和创建用户名,电子邮件地址和IP地址的屏蔽规则。
对于上面的简单介绍,重点在于用户的访问控制(Permissions),Drupal是基于模块(Module)的,不同的模块能实现不一样的功 能,有的模块只是向用户提供某些信息,比如类似公告的模块,而有的模块却能从最底层访问整个站点的所有内容,比如删除/添加用户、内容等,我们不可把这一 类模块功能的访问/使用权限分配给网站的所有用户,我们应该设立不同的用户组(User Groups),给不同的用户组的用户分配不一样的权限,比如对于Drupal系统默认的两个用户组anonymous user与authenticated user,我们可以在Home >>Administer >>User Management >>Permissions页 面对他进行权限设置,比如设置前者不能访问Blog文章而后者可以,那我们就只要在相应的复选框中打上钩就行。工作虽然简单,但是对于一个网站来说,却是 必不可少的,如果没了他,那么这个网站就处于绝对危险的环境下,因为有可能出现非注册用户却能随便在网站发表文章、删除用户等情况,所以,User模块是 Drupal系统必不可少的一个核心模块。

小结:通过基于许可权限的用户组管理系统你可以:

查看/添加/删除网站的所有注册用户:Home >>Administer >>User Management >>Users

更改用户对网站众多模块功能的访问使用权限:Home >>Administer >>User Management >>Permissions
阅读User模块帮助:administer >> help >> profile

控制用户注册时的默认设置
其它一些常用管理工作
搜索/索引功能(Searching)
要使用Drupal的Searching功能,首先应该进入模块管理页面启用(Home >>Administer >>Site building >>Modules)Searching模块,Drupal的搜索模块使用关键字索引,一般情况下在开启Searching功能后,要对Drupal站点进行一次全面的索引,索引可以设置为Drupal定时自己索引,也可以在需要的时候人工进行索引,在Home >>Administer >>Site configuration >>Searching Setting页面你可以对网站的搜索功能进行自定义设置,在这个设置页面中,最常用的应该是重建索引站点与设置索引关键字最少字数,默认设置为3。

个性化(Personalization)

这个功能的实现主要在于Drupal的模板/主题(Theme)系统,Drupal将内容与外观分离,所以我们随意的改变站点的外观不会影响到网站的内容,只改变的内容的表达方式,我们可以在主题管理面板(Home >>Administer >>Site building >>Themes)选择自己喜欢的主题(即外观),Drupal系统内置六个主题,分别为Bluemarine、Chameleon、Garland、Marvin、Pushbutton、Minnelli,如果这几个主题觉得都不满意的话,你还可以在Drupal.Org的主题站点上下载Drupal用户制作的很多主题,主题的安装与模块的安装一样,将主题下载下来后,再把主题文件夹上传至服务器中相应的文件夹中(模块文件夹为Modules/ ,主题文件夹为 Themes/),再在网站后台控制面板中选择激活即可。

Drupal实现个性化的另一个意义即是即使是同样的主题,也可以有完全不一样的表现。用户可以通过Blocks模块来控制内容的显示方式,比如用 户登陆区块,通过Blocks设置,可以将其显示在左边栏 中,也可以将改移到右边栏中,主页显示全部文章或者只显示某篇文章,主页显示最新文章时是将文章全部显示还是只显示文章的摘要,文章摘要有多少字,是否显 示网站Logo,网站Logo使用哪一个图标等,都可以通过网站的后台控制面板进行设置而不需要改变网站的源代码或者主题。这种高定制性使用Drupal 的用户能很轻松的从外观改变整个网站。

如果自己有很强的设计功底的话,还可以自制从头制作主题Theme,但是虽然Drupal的主题制作不难,却并不是每一个人都能做好的,所以,对于像我这样设计很差的用户使用他人制作好的主题也已经足够了。

小结:Drupal能实现的个性化有:

选择不同的主题,彻底改变网站外观:主题下载链接,主题控制面板:Home >>Administer >>Site building >>Themes
通过与User模块的配合,可以使用网站不同用户组的用户选择自己喜欢的不同的主题:
通过区块(Blocks)模块,我们可以轻松改变网站内容在显示方式,不同区块的显示位置:Home >>Administer >>Site building >>Blocks

可以设置整站的导航:Home >>Administer >>Site building >>Menus

--------------------------------------------------------------------------------

内容管理(Content Management)
Drupal作为一个内容管理系统(Content Management System-CMS)内容管理功能肯定为整个程序的核心。Drupal的基本内容管理包括:投票/调查(Polls)、主题(Templating)、评论(Threaded comments)、版本管理(Version control)等,以下对这四个内容管理功能进行详细的介绍。

投票/调查(Polls)

开启Drupal系统默认的Polls模块,你可以发起一些简单的投票,你提出一个问题与几个可选项目,让你的用户对此问题与可选项目进行投票。在 创建新投票时,你可以设置每一个可选项目的初始票数、此投票的状态、投票的期限、是否允许评论等。你还可以在内容类型管理面板(Home >>Administer >>Content management >>Content types >>Polls)来更改Polls 类型内容的默认设置。

通过User模块,你可设置不同用户组对投票的访问权限,比如,你发起一个新投票,只想让网站的注册用户能够参与投票而且任何用户投票之后不能对自己的投票进行更改,则你可以在用户控制面板(Home >>Administer >>User Management >>Permissions)来进行详细的配置。

评论(Threaded Comments)

评论模块会为每一篇文章分配一个评论区块,开启了评论区块的文章将在文章页面的底部显示此评论区块,有访问权限的用户将可以通过此评论区块对文章进 行评论,通过User模块,可以设置不同用户组对评论模块的访问权限,比如发表评论权、修改评论权、管理评论权、删除评论权等。我们还可以设定每一篇文章 评论的显示方式,比如是最新评论居上还是最旧评论居上,通过后台还可以设定用户在发表评论时所能使用的输入格式,比如纯文本格式、完整HTML等。

小结:使用评论模块你可以:

 

通过用户权限管理来设置评论模块的可访问用户组与禁止评论用户组:Home >>Administer >>User Management >>Permissions
管理网站所有评论:Home >>Administer >>Content management >>Comments

启用最新评论区块并设置此区块的显示位置:Home >>Administer >>Site building >>Blocks
版本管理(Version Control)

Drupal的版本控制系统能跟踪内容更新的详细情况,包括更改人、更改内容、更改日期及时间等。版本控制特性还提供了可选的评论记录功能,同时允许你将内容恢复到早期的版本。

 

--------------------------------------------------------------------------------

博客(Blogging)
"博客"(Blog或Weblog)一词源于"Web Log(网络日志)"的缩写,是一种十分简易的傻瓜化个人信息发布方式。让任何人都可以像免费电子邮件的注册、写作和发送一样,完成个人网页的创建、发布 和更新。一般网民的博客都是建立在免费博客服务商之上,也有一些人(主要为计算机专业人士与IT爱好者)使用博客程序(Wordpress、Bo- Blog、zBlog等)建立自己的独立博客,但用户量毕竟有限,现在几乎每一个网站都为自己的用户提供博客功能,当然,这也得有网站核心程序的支持, Drupal就提供了多用户Blog系统。对于Drupal的博客系统有不同于其它定义的博客,Drupal所提供的博客系统包括Feed/RSS输出/ 聚合等。

多用户博客系统(Blog)

Drupal的blog 模块允许注册用户维护一个在线网络日记 (如我们熟知的 blog、博客、部落格等),经常作为一个在线记事或者日记。 Blog 由独立的文章组成,这些文章有时间印戳因此可以按日期来排列显示, Blog 还经常包含到已经阅读并且/或发表了相同/不同看法的网页用户的连接。

blog 模块会在主导航菜单中添加一个 用户 blog 导航 (但这个链接必须手工启用),通过这个链接可以看到站点上所有用户的最新 blog 文章。 导航菜单有一个 建立内容 链接 (会引导你发表各类文章) 以及一个 我的 blog 链接 (只显示你自己的 blog 文章)。 blog 模块还提供了 最新 blog 文章 区块,你可以选择启用它并设置它的显示位置。

Drupal的博客系统还提供了新闻推送功能,使用RDF/RSS格式将博客文章推送出去,博客订阅者即使不访问博客,也能通过Feed阅读工具阅读博客内容。

blog API 模块允许用户通过外部 GUI 应用程序发表 blog 文章。 许多用户更愿意使用外部工具来增强定制阅读和发表的能力, blog api 让用户可以自由使用 blog 工具,并且让他们有选择 blog 服务器的的自由。

当这个模块启用并配置好以后,你就可以使用象 Ecto 这样的工具从你的桌面建立和发表文章。 Blog API 模块支持好几个基于 XML-RPC 的 blogging API,例如 Blogger API、 MetaWeblog API 以及大多数的 Movable Type API。 任何支持这些 API 的桌面 blog 工具或者其他服务 (如 Flickr 的 "发表到 blog") 都可以正常工作。

这个模块同时还允许站点管理员配置何种内容类型可以通过外部应用程序发表文章,因此,用户除了发表 blog 文章外也可以发表论坛帖子。 在启用支持后,外部应用程序将每个内容类型显示为独立的 "blog"。

小结:通过Drupal的博客系统你以及你网站有Blog模块使用权限的用户可以:

阅读自己的博客文章:Home >>My Account
新建博客文章:Home >>Create Content >>Blog Entry
设置博客文章首选项:Home >>Administer >>Content management >>Content types >>Blog Entry

管理博客API接口:Home >>Administer >>Site configuration >>Blog API

启用Blog Block来显示最近更新的博客或者内容:Home >>Administer >>Site building >>Blocks
访问 XML-RPC 页面
Feed/RSS新闻聚合(News Aggregator)

聚合器模块(aggregator)可以为你的站点提供强大的新闻聚合与阅读功能,它能够自动从你指定的任意新闻或其它网站收集相关内容,并聚合显示到你的站点。

用户既可以按时间先后顺序察看聚合内容,也可以按内容来源分类察看。管理员可以添加、编辑种子(feed)来源,并针对不同种子选择更新的时间间 隔。管理员还可以对种子添加标签分类,这样可以把不同类别的聚合内容分别显示。管理员还可以使用区块在站点边栏显示最新聚合内容,既可以显示某一种子的最 新内容,也可以按类别显示多个种子来源的内容。新闻聚合器需要通过cron来自动收集你所订阅的站点内容。Drupal还提供你所有订阅种子的OPML文 件,方便你导出到其它软件或新闻阅读器。

小结:使用Drupal的新闻聚合器你可以:

 

管理你的Feed地址列表:Home >>Administer >>Content management >>Feed aggregator

添加新的Feed分类:Home >>Administer >>Content management >>Feed aggregator >>Add Category
添加新的Feed地址:Home >>Administer >>Content management >>Feed aggregator >>Add Feed

设置Feed聚合器首先项:Home >>Administer >>Content management >>Feed aggregator >>Settings

控制网站用户对Feed聚合器的访问/管理权限:Home >>Administer >>User Management >>Permissions
启用News Aggregator Block来显示最近更新的新闻:Home >>Administer >>Site building >>Blocks
在站点的cron页面手动运行cron来强制聚合器收集最新内容,而不必等到下次更新。

--------------------------------------------------------------------------------

论坛(Forum)
使用forum(论坛)模块可以创建围绕特定主题的讨论话题,其形式类似于常见的BBS讨论版如phpBB等。论坛功能非常有用,因为它允许社区成员讨论感兴趣的话题,并且所有的讨论都将存档供以后查询。

论坛(forums)的组织是通过容器(containters)来实现的。每个容器(也可以叫做版块)下面包含多个子论坛(或版面),而每个子论 坛下则是相关按话题排列的讨论内容。容器与论坛都可以再放到其它的容器或论坛下面。精心安排容器与论坛结构将可以帮助用户更容易地找到感兴趣的内容。管理 员可以把讨论贴从一个论坛移动到另一个论坛,并选择是否在原论坛留下备份。论坛的讨论贴都有自己的URL路径。

使用论坛模块需要先开启Taxonomy(分类)与Comments(评论)模块。

Drupal的论坛就像drupal本身一样,可以根据使用者的需要开启不同的模块,功能可以得到不断的扩展。你可以完全控制需要实现什么样的功能。

小结:使用Drupal模块你可以:

创建一个容器:Home >>Administer >>Content management >>Fourms >>Add Containter
创建一个论坛:Home >>Administer >>Content management >>Fourms >>Add Forum

管理站点存在的所有论坛:Home >>Administer >>Content management >>Fourms

对站点论坛首选项进行设置:Home >>Administer >>Content management >>Settings

设置不同用户组拥有的对论坛的不同的使用权:Home >>Administer >>User Management >>Permissions

阅读与论坛相关的帮助信息:Home >>Administer >>Help >>Forums

阅读与Taxonomy相关的帮助信息:Home >>Administer >>Help ?Taxonomy
使用其它扩展模块对论坛进行功能与外观上的扩展:模块下载,Home >>Administer >>Site Building >>Modules

--------------------------------------------------------------------------------

网站访问统计/入站来源统计分析功能(Statistics Analysis)
Drupal除了上面所说的一些基本特性之外,来内置的网站信息报告与统计分析工具。

统计模块记录着站点使用情况的统计资料,它统计了你文章的访问次数和访问来路。统计模块可以用来知道很多有用的信息--用户和用户之间、用户和站点之间的互动信息。

统计模块特性:

用日志显示你站点的访问次数和访问的具体内容
外部来源(Referrers)告诉你访问者从哪里来(即来源网址)
热门页面显示你站点上最热门的内容
最活跃的用户显示你站点里最活跃的用户
最新点击显示你站点最近活跃的内容,也可以禁止某一访问者访问站点
节点计数显示节点被浏览的次数,它显示在"发表评论"的旁边
配置统计模块:

启用访问日志功能,你可以打开或关闭访问日志。该日志用来储存每个页面的浏览数据,例如远端主机的IP地址,来源网址,访问了哪些节点,还有访问者的名字。启用访问日志后,Drupal每显示一个页面,都会呼叫一次数据库。
删除页面访问记录,能让你设定访问记录保存的期限,到期后访问记录会从数据表中删除掉。要使用这一功能,你需要运行cron.php
启用节点计数允许你打开或关闭节点计数功能,如果打开了,每当显示节点时,都将会增加一次额外的数据库查询,计数器会不断累加。
显示节点计数允许你全局设置关闭计数器的显示。