Drupal 7 基本网页设计
Drupal 是最受欢迎且功能多样的网页设计平台之一。它是免费的开源软件,可以在 Linux 上运行。去年年初,发布了一个新版本(Drupal 7),通过在可用性、性能和安全性方面的改进,使其变得更加出色。如果您以前看过 Drupal,但最终没有使用它,您可能需要重新考虑一下。
Drupal 使用模块化结构构建,以适应来自第三方开发人员的扩展。这些模块允许您添加原本可能不可用的功能。Drupal 7 的改进使得它们更容易访问,也更便于新用户使用。
本文涵盖了创建数据方案(即内容类型)的基础知识、如何操作这些数据(即视图)以及在 Drupal 7 中显示数据的基本方法。在本文的示例中,我使用了销售书写工具的商业网站的产品。我假设您已经从 drupal.org 下载了 Drupal 7 并已成功安装。
内容类型内容类型只是数据表(如文本、数字和图像)的定义。在幕后,Drupal 使用 MySQL 存储数据。当您在 Drupal 中创建内容类型时,实际上是在 MySQL 中创建一个表并设置 MySQL 中的列。对于这个示例书写工具网站,让我们为产品创建一个内容类型。它将包括名称和描述,以及用于存储每种产品照片的字段。
要创建内容类型,您需要做几件事。以管理员身份登录 Drupal 后,转到管理页面。从那里,单击“结构”链接。在“结构”页面上,单击“内容类型”。在“内容类型”页面上,单击“添加内容类型”链接。顺便说一句,在 Drupal 社区中,通常会用更简短的方法描述到此页面的导航:单击“管理→结构→内容类型→添加内容类型”。此菜单树方法通常附带括号中显示的域名的绝对路径(例如,/admin/structure/types/add)。从现在开始,我将使用简短方法。

图 1. 内容类型添加字段
打开创建内容类型的管理页面(图 1)后,在“名称”字段中,输入“产品”。保留其余部分,然后单击标有“保存并添加字段”的按钮。在下一页上,您将看到一个包含一些字段的表格(例如,“标题”、“正文”)。让我们为网站的特定需求添加更多字段。在“添加新字段”部分,在第一个框中键入“产品图片”。对于“名称”列,输入“product_image”(这将在 MySQL 中创建一个字段,field_product_image)。对于“字段类型”,从下拉列表中选择“图像”。现在单击“保存”。在接下来的两个屏幕上,接受默认设置,然后单击每个页面的保存按钮。
完成上述操作后,您将返回到“产品”的字段表。现在,让我们添加另一个字段来指示某件商品是钢笔还是铅笔。将其命名为“产品类型”,并将“字段类型”设置为“列表(文本)”,将“小部件”设置为“选择列表”,这样稍后输入内容时,您可以从列表中选择产品类型。这次在您保存后,您将看到一个包含名为“允许值列表”的表单。在该字段中,在单独的行上输入“1|钢笔”和“2|铅笔”(不带引号)。这是一个键值哈希,将成为用户的可用选项。现在保存退出,接受默认设置。然后,字段列表应如屏幕截图图 2 所示。

图 2. 产品类型管理字段
您可能想要尝试添加更多字段(例如“价格”、“墨水颜色”等)。否则,您现在可以在网站上创建产品。为了更容易理解,添加一些钢笔和铅笔。在网上搜索钢笔和铅笔的照片,并将它们抓取下来,以便您拥有与您添加的产品相关的图像。要输入产品,请转到“管理→内容→添加内容”,然后单击内容类型“产品”(/node/add/product)。如果您犯了错误并想要在保存后更改产品,或者您只是想查看产品列表,请转到“管理→内容”(/admin/content)。在那里,选择类型“产品”,然后单击“筛选”以仅显示产品(图 3)。

图 3. 内容列表
构建视图您创建的每个内容条目都可以作为即时页面单独访问,这些页面被称为节点。但是,让我们也创建一个页面,列出所有产品,并链接到这些节点。为此,您需要创建一个视图。视图允许您聚合和安排网站上的内容,并根据字段值和其他因素组织和分组数据。
要创建一个显示钢笔和铅笔列表的视图,请转到“管理→结构→视图”,然后单击“添加新视图”(/admin/structure/views/add)。这将显示一个表单(图 4),用于创建一个页面——一个从 MySQL 提取数据并在被调用时生成网页的页面。

图 4. 添加新视图
在“视图名称”字段中,输入“产品列表”。在以“显示”开头的部分中,您可以选择要创建的视图类型。出于我们的目的,选择“内容”。在此右侧,在选项更新后,您可以选择要显示的内容类型。从列表中选择“产品”。如果您没有注意到,此表单有点像向导。现在将排序方法更改为“未排序”。
接下来,您有两个复选框:一个用于创建页面,另一个用于创建区块。基本上,此处的页面是视图,可用于生成独立页面。区块是视图,可以显示相同的信息,但可以用作其他页面中的组件。页面在此时更好,因此选中“创建页面”。
在为创建页面而打开的部分中,为页面顶部键入标题。接下来输入文件路径。向导提供了域名和前导斜杠。只需在框中添加页面名称“product-list”。这意味着当使用 Web 浏览器的人访问 http://domain_name.com/product-list 时,他们将看到显示结果。接下来,您需要设置显示格式。对于接下来的内容,选择“字段网格”。忽略其他设置,然后单击“继续并编辑”按钮以进一步调整视图。
在“字段”部分中,默认情况下,视图会创建一个“标题”字段。让我们至少添加两个字段。单击“字段”标签旁边的“添加”链接以添加字段。这将列出可以添加的许多字段。在列表中扫描“内容:产品类型”——这是用于选择产品是钢笔还是铅笔的字段。当您找到它时,单击它旁边的复选框。可能就在它上方,您会找到“内容:产品图片”。也选中它。然后单击底部的“添加并配置字段”按钮。
字段配置页面为每个您正在添加的字段逐个打开。对于“产品类型”字段,选中标有“从显示中排除”的框,因为没有必要为每支钢笔都显示“钢笔”一词。相反,让我们使用此字段对数据进行分组。现在,单击“应用”按钮。当您看到“产品图片”的表单时,对于样式首选项,请确保未选中“创建标签”。对于“图像样式”,从列表中选择“缩略图”,然后单击“应用”。您的页面应如屏幕截图图 5 所示。

图 5. 产品列表视图
现在您已经添加了“产品类型”字段,您可以使用它来对产品进行分组。为此,在“格式”部分中,在“网格”链接旁边,单击其“设置”链接。在打开的框的顶部附近,在“分组字段”处,从列表中选择“内容:产品类型”。在“列数”字段中输入 4,然后单击“应用”。现在,每个项目的名称及其照片都显示在显示中,但每个产品都根据它是钢笔还是铅笔进行分组。每个组都会显示一个更大、粗体的标题。单击底部附近的“更新预览”按钮,以便您可以在视图生成的 MySQL 查询中看到结果。
默认情况下,视图根据产品类型标题按降序字母数字顺序对产品组进行排序。因此,铅笔显示在钢笔之前。由于钢笔比活动铅笔更有利润,您可能希望将钢笔放在首位。您可以通过为“内容:产品类型”添加“排序标准”并将其设置为“升序排序”来反转顺序。
您可以做的事情还有很多,但这足以入门。单击右上角的“保存”按钮。然后,通过打开用户将看到的页面 (/product-lists) 来检查您的工作成果。

图 6. 产品列表页面
请注意图 6 中,钢笔被分组在一起,与活动铅笔分开。因为我为四支钢笔和四支铅笔输入了内容条目以进行测试,并在视图中将列数设置为四,所以结果在一行中仅显示每种四支。如果我输入了八支钢笔,则会显示两行钢笔。每支钢笔和铅笔的名称都充当指向节点的链接,该节点会显示产品的更大照片,以及有关钢笔和任何其他我可能添加的字段的所有其他信息。您可以调整视图以在此级别提供更多信息。您还可以将链接设置为转到视图生成的不同页面。并且,您可以更改格式(即使用 CSS Injector 模块的 CSS)以更改颜色和布局,以及为 Drupal 选择不同的主题。但是,我在这里所做的演示了创建内容类型和视图以筛选和组织特定内容的数据的基础知识,以及如何动态显示这些数据。
其他考虑因素:分类法在解释了使用 Drupal 管理和显示数据的绝对基础知识之后,如果我不提及分类法模块的优势,那么在谈论内容类型和视图时,我将有所疏忽。分类法是一种属性,其中汇集了相关词汇的词汇表。在示例网站中,我使用“产品类型”字段来区分可用的不同类型的产品。如果您只有两种产品并且很少更改它们,则此安排效果很好,但是如果产品类型列表很长或偶尔更改,则会变得很麻烦。
例如,您可能不仅要区分钢笔,还想要区分圆珠笔、毡尖笔和墨水笔。您可能想要拥有木制铅笔和活动铅笔,而不仅仅是铅笔的产品类型。您可能想要重新排列产品的顺序,以便红色毡尖笔出现在蓝色圆珠笔之上,但不掩盖橙色墨水笔。产品类型列表越复杂,在内容类型中的字段中处理它们的可能性就越小,而采用分类法就变得越合理。
分类法模块允许您创建自定义值列表,用于组织您的产品。与当前“产品类型”字段不同,这些值(称为术语)提供更多配置选项,使您在添加和排列新产品类型时具有更高的精度。
术语在 Drupal 中并非独立存在。相反,您在称为词汇表的列表中创建它们。词汇表允许您将所有相关术语放在一起,以便您可以将它们添加为内容类型的可能值。与示例网站中的“产品类型”字段相比,“允许值列表”中的“钢笔”和“铅笔”是术语,而这些术语共同构成一个词汇表。
要创建词汇表,请转到“管理→结构→分类法”页面,然后单击“添加词汇表”链接 (/admin/structure/taxonomy/add)。在“名称”字段中,输入“产品类型”,然后保存。这将使您返回到“分类法”页面,该页面已为“产品类型”添加了一个条目。要将术语添加到您的词汇表,请单击“产品类型”的“添加术语”链接。在“名称”字段中,输入“墨水笔”。暂时忽略其余设置,然后单击“保存”。“添加术语”表单重新打开。继续为不同类型的书写工具添加术语。
为了将这些术语与产品一起使用,您必须将现有的“产品类型”字段替换为链接到新词汇表的新字段。返回到“内容类型”页面,网址为“管理→结构→内容类型”。在“产品”的列表中,单击其“管理字段”链接 (/admin/structure/types/manage/product/fields)。单击“产品类型”字段的“删除”链接。然后重新创建“产品类型”字段,这次为“字段”列选择“术语参考”。在字段配置页面的底部,从“词汇表”的下拉列表中选择“产品类型”,然后保存。
“产品”内容类型将使用新字段更新。尽管它看起来与旧字段相同,但现在可用的选项是从分类法中提取的,从而可以更轻松地控制其排列和数量。
现在您已经删除了旧的“产品类型”字段,产品列表视图不再按产品类型正确分组结果。要恢复此功能,请编辑“产品列表”视图以包含新字段。转到“管理→结构→视图” (/admin/structure/views),然后单击“产品列表”的“编辑”链接。然后使用之前的配置添加“内容:产品类型”字段。重复上面给出的步骤来格式化您的视图,围绕“产品类型”字段对产品进行分组。完成后保存。
结论现在,您应该对如何创建内容类型以及如何使用视图操作它们以在 Drupal 7 中以简单方式显示数据有一个很好的了解。现在您可以开始创建自己的网站,并在实践中学习更多知识。与其他构建网站的方法相比,Drupal 最初可能看起来具有限制性和笨拙性。但是,随着时间的推移,您将开始看到它是强大的,并且在具有许多不同技术背景的人员的组织中运行良好。一旦您开发了一个网站,非技术用户就可以轻松地添加和维护内容。此外,作为开发人员,借助模块,您可以轻松地使用其他模块添加功能。如果您想了解有关 Drupal 7 的更多信息,请访问 http://drupal.org。