跳至主要内容
版本:5.1

Tag 表单字段

tag 表单字段类型提供了一个可以输入标签的点 - 这可能是 AJAX 或嵌套的。

  • type(必填)必须为tag
  • name(必填)是字段的唯一名称。
  • label(必填)(可翻译)是字段的 HTML 标签。
  • description(可选)(可翻译)是字段描述
  • mode(可选)(可翻译)可以是“ajax”或“nested”。
  • id(可选)是要添加到字段的 ID。请注意,如果未设置,则此 ID 将为字段的名称。
  • class(可选)是要添加到字段的类。
  • published(可选)确定是否允许未发布的标签。
  • language(可选)是用于根据其过滤现有标签的语言。
  • multiple(可选)是能够向表单字段添加多个标签的功能。
  • custom(可选)如果选择了 ajax 模式,则将其设置为“deny”将阻止用户添加新标签。

您可以通过设置全局配置/标签/数据输入,然后在现有文章的标签字段中输入数据来查看“ajax”模式和“nested”模式之间的区别。

Ajax 模式

  • 当用户在标签字段中输入标签时,该字段会搜索标签(通过 Ajax)。
  • 需要至少三个字符才能启动第一次后台 AJAX 搜索。
  • 该字段还允许通过编写新标签并按 ENTER 键(但不再是逗号键)插入自定义标签。
  • 在字段中插入的所有新自定义标签都会在数据库中动态创建。

嵌套模式

  • 标签下拉列表显示标签的分层列表(以类似于显示类别的方式显示)。
  • 您无法动态创建新标签。

由以下文件实现:libraries/src/Form/Field/TagField.php

Ajax 标签的 XML 参数定义示例

<field
name="tags"
type="tag"
label="JTAG"
description="JTAG_DESC"
mode="ajax"
class="inputbox span12 small"
multiple="true"
/>

嵌套标签的 XML 参数定义示例

<field
name="tags"
type="tag"
label="JTAG"
description="JTAG_DESC"
mode="nested"
class="inputbox span12 small"
multiple="true"
/>