为什么在 Drupal 上需要论坛?
这是一个最常见的问题,以各种形式不断地在同样的论坛上被提起。
要超越这些表面问题,我们首先要学会正确地提出问题。创建论坛的人追求的目标是什么?
论坛能为网站的发展带来什么?
什么是论坛,它的用途是什么?
在古罗马,这个词(Forum Romanum)指的是城市广场。论坛是罗马共和国时期国家生活的中心。今天,它演变为一种网站用户社区的管理系统,简称“论坛”。它是大型网站最重要的组成部分之一。无论网站属于哪个领域,建立并发展网站用户社区对网站整体的积极影响都远远大于负面影响。
对于任何网站来说,论坛都是吸引稳定用户的最强大工具。论坛是网站的一个部分(甚至可能是主要部分),它能够自我发展。有很多成功的项目实际上仅由一个论坛组成。
在 Drupal 上安装 Advanced Forum 模块
我想你已经配置好了 Drupal,并准备为它添加新的功能。论坛是一个很好的平台,让你的网站访客可以讨论一些重要或热门的话题。或者,你可能希望为购买你产品的客户提供技术支持。无论哪种情况,如果你需要一个论坛,Drupal 已经有现成的解决方案。
Forum 模块是 Drupal 核心的一部分,但它非常简单,甚至可以说是“过于简单”,几乎不能算作真正的论坛。不过,基于它开发出了另一个模块——Advanced Forum。安装 Advanced Forum 后,你将获得一个具备完整功能的论坛系统。当然,这个“完整”的功能集仍然可以进一步完善,而这正是我将在本课及后续课程中要做的事情。
在 Drupal 中创建容器、论坛和嵌套论坛
我们已经安装了论坛,现在是时候进行配置了。我们将从为未来的Drupal 论坛创建版块开始。在本课中,我将演示如何为论坛创建容器。我们将讨论论坛及其子版块的层级结构。
此外,我还会展示如何设置在创建新评论和论坛主题时的通知功能。
将投票附加到论坛主题并将文件附加到帖子
在本课中,我将为论坛添加一个功能,使其可以在论坛主题中附加投票。通过使用 poll 和 references 模块,我创建了投票与其他 Drupal 节点之间的关联。
在课程的第二部分中,我将讲解如何在论坛帖子中附加不同格式的文件。对于 Drupal 6,我会展示一个用于文件上传的模块;而对于 Drupal 7,我将介绍如何通过Drupal 核心来添加文件上传字段。
在 Drupal 上创建分类信息板
分类信息板早在计算机乃至互联网出现之前就已经存在,并且在很长一段时间内几乎是信息传播的唯一方式。虽然在古代,这种方式并不民主,只掌握在统治者手中:例如,在巴比伦,法律被刻在石柱上;在中世纪的英国,国王的法令被张贴在教堂的门上。
但随着时间的推移,一切都发生了变化。后来,人们理解的分类信息板是一块大型的木板,任何人都可以在上面张贴自己的公告供公众查看,或查找自己感兴趣的信息。分类信息板的第二次“电子化诞生”可以归功于 BBS(Bulletin Board Systems——电子公告板系统),尽管这种“再生”与原始原型相比已经相当不同。
互联网上的分类信息板是一个网站,允许任何人发布自己的公告。分类信息板之所以如此受欢迎,很大程度上是因为其易用性和可访问性。在大型的网络分类信息平台上,每天有成千上万的人访问,每天新增几千条公告。为了整理庞大的信息量,公告通常按主题分为不同的版块,如:“体育”、“家用电器”、“房地产”、“旅游”等。
Drupal 房地产分类信息板
在本课中,我将介绍如何使用 Views 模块 及其 公开过滤器(exposed filters) 在 Drupal 上创建分类信息板。
这是课程的第一部分,我将创建一个房地产分类信息板。未来,我还计划制作一个带有各种功能的汽车分类信息板。如果你希望看到关于分类信息板的其他教程,请在论坛上留言,我会尽力制作相关课程。同时,欢迎观看我的其他教程并加入我的社交网络。
Drupal Node Expire 和 Auto Expire —— 广告到期后自动取消发布
我们Drupal 公告板的一个必要功能是让发布的广告在一段时间后自动下架。我建议先使用现成的模块来实现,然后再尝试使用 Rules 模块实现相同的功能。在现有模块中,我找到了两个适用于 Drupal 6 的模块和一个适用于 Drupal 7 的模块,它们分别是:
Node Expire —— 适用于 Drupal 6
Auto Expire —— 适用于 Drupal 6 和 7
Drupal 6 Node Expire
我们先来试试适用于 Drupal 6 的 Node Expire 模块:
http://drupal.org/project/node_expire
我将使用版本 2.06。
安装并启用 Node Expire 模块。
在 Drupal 上创建社交网络
Drupal 的潜能边界
Drupal 是最优秀的内容管理系统(CMS)之一。事实上,它曾两次荣获“2008 年最佳开源 CMS”和“最佳 PHP 开源 CMS 奖”。经过大约 8 年的发展,Drupal 已经成为最强大、最通用的框架之一。Drupal 的非凡灵活性是它的绝对优势……同时也是它的弱点。任何功能都可以实现,但从哪里开始呢?我花了很多时间研究各种模块、它们的用法和兼容性、错误和特性,以便能为你提供可靠的建议。越来越多的人开始询问我如何实现某些社区功能,因此我决定将这些经验汇编成一个系列文章。读者将会了解创建社区网站所需的各种模块和配置参数。这将是一场针对 CMS(内容管理系统)模块及其特性的探索。
迈向社交网络之路
社区网站像虚拟的蘑菇一样在网络上不断涌现。每个网站都有自己的特点,所以让我们确保我们的网站将成为一个社交网络。我提出以下标准,用以定义一个社交网络网站:
在Drupal上预设社交网络网站
在本课中,我将为社交网络预配置Drupal。我将安装以下模块:
- Logintobogan
- Captcha
- Pathauto, token, transliteration
- Tagadelic
- Backup and migrate
Captcha
每个人在创建账户时都遇到过一些小问题。Captcha 允许您使用 CAPTCHA 图像、数字验证码等。Captcha 模块提供了一些额外的选项。您可以选择要使用验证码的表单类型(注册、登录、联系表单等),以及其他一些选项。
Pathauto
Pathauto 模块显著改善了您的 URL 外观。它将类似 node/46532 之类的内容更改为 content/o-drupale。您可以使用额外的标记生成基于名称、用户名、用户 ID 等的 URL。
Drupal 中的用户资料(User Profile)
Drupal 中的用户资料页面
用户资料页面是任何社交网络中最复杂又最有趣的部分。我希望在阅读这篇文章后,对你来说它也会变得充满乐趣。Drupal 为我们提供了多种实现用户资料的方式。第一个选项是核心模块 Profile。如果你只需要一个非常简单的用户资料页面,那么这个模块已经足够。然而,我们现在谈论的是社交网络。如果我们希望用户资料中能够添加图片、视频以及更多信息,那么我们将使用 Profile2(Content Profile)模块。这个模块主要是为每个用户创建一个包含资料信息的节点,从而使资料与特定用户关联。
为什么需要用户资料?
在开始之前,让我们先问自己:我们希望通过用户资料实现什么?
我对此有许多想法。用户资料应该能够: