1.5 分类(Taxonomy):分类体系、词汇表与术语
在上一课中,我们已经用 Drupal 创建了一个博客,但该博客还缺少文章标签(tags)功能。让我们使用分类系统(Taxonomy)添加一个词汇表(vocabulary)。如果还未启用 Taxonomy 模块,请先启用它。
在 Drupal 中,分类(Taxonomy)是一种为节点(Node)添加分类、标签或类别的方式(也可称为栏目或分类器)。我们现在来创建一个名为 Tags 的词汇表,用来为文章进行分类: 菜单路径:Structure(结构) → Taxonomy(分类)
我们将该词汇表命名为 Tags。 创建后,会跳转到该词汇表的管理页面,在这里你可以手动添加标签(术语,term)。 不过我们暂时不用手动添加,因为我们稍后会在文章中自动创建标签。
注意:在 Drupal 中,分类词汇表(Vocabulary)的元素称为术语(Terms)。 无论你的词汇表是“标签(Tags)”、“类别(Categories)”、“栏目(Sections)”还是“班级(Classes)”,它们内部的条目都称为“术语(Terms)”。
接下来我们要为文章内容类型(Article)添加一个标签选择字段。 如果还没有启用 Field UI 模块,请先启用它。 然后进入菜单:Structure → Content types → Article(结构 → 内容类型 → 文章)
在字段管理页中添加一个新字段:名称为 Tags,字段类型选择 Taxonomy term(分类术语):
设置为允许无限数量的术语(Unlimited):
保存设置。 现在进入文章创建页面,此时系统只能选择已有的标签,但我们希望能够自动补全和自动创建标签。 为此,我们需要切换字段的输入小部件(widget)。 前往:Structure → Content types → Article → Manage form display。
在“显示表单管理”标签页中,将 Tags 字段的输入方式改为 Autocomplete (Tags style):
保存后,回到文章创建页面。 现在你可以输入以逗号分隔的多个标签,Drupal 会自动将这些标签添加到 Tags 词汇表中。
如果你现在访问菜单 Structure → Taxonomy → Tags,你会看到刚刚创建的新术语。
每个分类术语都有自己的独立页面,页面上会显示所有使用该术语的节点摘要(teaser)。
此类页面的 URL 形式为:
taxonomy/term/[术语ID]
,例如:taxonomy/term/2
。
标签会显示在文章的完整页面中:
我们将在后续课程中多次使用到分类(Taxonomy)。 即使现在还没完全理解它,也可以放心继续学习下一课。