Webform Block 模块与 Highslide 模块:在区块中显示联系表单
本教程已过时:
建议使用更现代的模块 Colorbox Node:
http://drupal.org/project/colorbox_node
在模块说明中有详细的使用方法。
在本课程中,我们将学习如何在 Drupal 网站的区块中创建表单。为此,我们需要安装以下模块:Webform、Webform Block、Contact Form Blocks、以及 Contact(联系模块是 Drupal 核心自带的)。此外,我们还将尝试创建一个带有漂亮弹出效果的表单。让我们开始配置这些模块吧。首先,我们要创建一个联系表单。进入“网站结构” → “模块”,启用 Contact 模块。
联系表单可通过地址 网站名/contact 访问。你可以手动在 URL 中添加 “contact”,或通过“网站结构 → 联系”菜单进入表单编辑。
首先,我们需要添加一个联系分类。公司网站通常需要向不同的人发送邮件,例如客服、技术支持、或公司主管,因此我们应为每位收件人创建独立的分类。
填写所有字段,包括电子邮件地址和自动回复。这里还可以设置默认显示的联系分类,当用户打开联系表单时默认选择该项。
现在,如果我们访问 网站名/contact(建议将此链接添加到菜单中),就可以发送邮件了:
接下来,需要为 Contact 模块设置访问权限,以便其他用户也能通过此表单发送邮件。进入“用户管理 → 权限”,为注册用户和匿名访客启用相应权限。
现在,网站访客也可以发送邮件了。
接下来,安装 Contact Form Blocks 模块,用于在区块中显示联系表单。
安装完 Contact Form Blocks 模块后,在区块列表中应出现一个新的联系表单区块。
你可以将联系表单放在网站的内容区域,也可以创建一个新的区域并将该区块放入其中。
Webform
现在我们来将联系表单放入一个独立的区块中。为此,安装 Webform Block 模块,它依赖于 Webform 模块。
通过 Webform 模块创建一个新的联系表单。关于如何使用 Drupal Webform 创建表单,请参阅之前的教程。
安装 Webform Form Blocks 模块后,我们就能将表单添加到区块中。
保存配置后,在区块列表中会出现新的联系表单区块。
Highslide
我们已经学会如何在区块中显示联系表单。现在试着让表单以漂亮的弹出效果显示在主窗口上方。为此可以使用现成的 Highslide 模块。安装此模块前需要先安装 Imagecache 和 Image API 模块。
在启用模块之前,需要从官网 http://highslide.com/download.php 下载 Highslide JS 库,并将其放入 highslide/highslide
文件夹中。如果下载的是带示例的版本,请找到其中的 highslide.js 文件,只需复制该文件即可。也可以使用 highslide.min.js,但请在复制前将其重命名为 highslide.js。
打开模块的 README.txt 文件,其中包含 Highslide 模块的使用说明:
$options['attributes'] = array('class' => 'highslide-ajax-link'); $options['fragment'] = 'node-1';
这段代码表明,任何带有 highslide-ajax-link 类的链接都会以 Highslide 效果打开。同时,链接路径后应加上要显示的页面元素的 ID。
例如,我们可以添加一个区块,并在其中写入以下内容:
<a href="<?php print base_path(); ?>contact#contact-mail-page" class="highslide-ajax-link">写信给我们</a>
contact-mail-page — 联系表单的元素 ID。
highslide-ajax-link — 用于触发 Highslide 模块效果的 CSS 类。
通过这种方式,你可以让页面中的任何链接或部分内容以弹出层的形式显示。