返回博客

Drupal Feeds Tamper 模块 Explode 插件使用指南(附 CSV 示例)

2023-05-317 分钟阅读

Drupal 提供了许多插件和模块来增强其核心功能。Feeds 模块允许您从 CSV 或 RSS 文件导入或聚合数据,如节点、用户、分类术语等,就是一个很好的例子。为了进一步处理这些导入的数据,您可以使用 Feeds Tamper 模块。

Feeds Tamper 模块包含一个名为 Explode 插件的实用工具。此插件可以将源数据分解成更小的部分,这在从 CSV 文件导入数据时尤其有用。

另一个关键的模块是 Feeds Tamper Extensible Parser Module。该模块扩展了 Feeds Tamper 的功能,并提供了额外的插件,包括我们示例所需的 CSV 解析器。

先决条件:

在开始之前,请确保您已具备以下条件:

  1. 一个正在运行的 Drupal 8、9 或 10 网站。
  2. 已安装并启用了 FeedsFeeds TamperFeeds Tamper Extensible Parser 模块。您可以通过 Drupal 管理仪表板或通过 Drupal Console/Drush 命令行工具安装这些模块。

分步指南:

为了深入了解 Drupal Feeds 和 Feeds Tamper 模块,我强烈建议您查看这篇详细指南: 如何使用 Drupal Feeds 和 Feeds Tamper 模块轻松导入 CSV 数据。它提供了更多有用的见解。

步骤 1:导入 CSV 文件

首先,我们需要设置一个 Feed 来导入 CSV 文件。在 Drupal 管理仪表板中,导航到“结构”->“Feeds”->“添加 Feed 类型”。为其指定一个标题和描述。对于“获取器”设置,选择“文件上传”。对于“解析器”,选择“CSV 解析器”。最后,对于“处理器”,如果想从 CSV 数据创建节点,请选择“节点处理器”。

步骤 2:配置 CSV 解析器

接下来,我们需要告知 Drupal CSV 文件的结构。在您新创建的 Feed 类型设置页面上,单击“CSV 解析器”设置。在这里,您可以配置分隔符(通常是逗号)和标题行数。确保您的 CSV 文件中的列名与 Drupal 中的字段名匹配。

步骤 3:配置 Explode 插件并创建字段映射

在配置 Explode 插件之前,您需要为 CSV 数据创建映射。映射建立 CSV 列中的数据与 Drupal 内容类型中的字段之间的关系。

创建映射:

  1. 转到“Feeds 导入器”设置,然后单击“映射”部分。
  2. 在这里,您可以将 CSV 文件中的源列(如“作者”、“标签”等)映射到 Drupal 内容类型中的相应目标字段(如“field_author”、“field_tags”等)。

设置好映射后,您可以将 Explode 插件应用于适当的字段。在我们的例子中,可以是“作者”字段或“标签”字段,如果它们包含需要拆分的多个值。

设置好映射后,您可以将 Explode 插件应用于任何包含您希望拆分的多个值的字段。

配置 Explode 插件:

  1. 导航到“Tamper”(篡改)选项卡。在这里,您将看到所有映射字段的列表。
Feeds Tamper 模块
篡改选项卡
  1. 找到您要应用 Explode 插件的字段,然后单击与该字段关联的“添加插件”链接。
  1. 从下拉菜单中选择“Explode”(拆分)插件。
  1. 根据您的需求设置插件,例如定义分隔字段中多个值的分隔符。
Explode 插件设置
  1. 单击“提交”将 Explode 插件应用于选定的字段。

关于“限制”选项

当您使用 Explode 插件将字段拆分为多个值时,您可以指定一个“限制”来控制字段将被分成多少部分。

例如,如果一个字段的值为“apple, banana, cherry, date”,您使用 Explode 插件,以逗号作为分隔符,并将限制设置为 2,那么该字段将被拆分成两部分:“apple”和“banana, cherry, date”。

当您知道字段需要拆分的最多部分数量,或者希望保留字段的某一部分作为单个值时,“限制”选项特别有用。

如果将“限制”选项留空或设置为一个较高的数字,插件将根据您指定的分隔符将字段拆分成尽可能多的部分。

步骤 4:导入数据

配置好所有设置后,您就可以导入 CSV 文件了。转到“内容”->“Feeds”->“添加 Feed”。上传您的 CSV 文件,然后单击“导入”按钮。Drupal 现在将导入 CSV 文件中的数据,并根据您的 Explode 设置拆分任何数据字段。

用例

  1. 内容迁移:如果您正在将内容从另一个 CMS 迁移到 Drupal,您可能会遇到这样的情况:CSV 导出在单个字段中包含多个值。例如,一篇博客文章可能在单个“作者”字段中列出了多个作者。同样,与单个内容相关的多个分类术语可能被分组在单个字段中。在这种情况下,Explode 插件将非常有用。它允许您在导入过程中拆分这些字段,有效地将多个作者拆分到单独的字段中,并将分组的分类术语拆分到 Drupal 中的单独条目。
  2. 产品导入:如果您经营一家电子商务网站,并且有一个 CSV 文件中的产品目录,其中单个字段包含由分隔符分隔的多个标签或类别,那么在导入目录时,Explode 插件可以将这些标签拆分成单独的值。
  3. 活动管理:如果您正在管理一项活动,并且有一个包含会议数据的 CSV 文件,其中某些会议在单个“演讲者”字段中列出了多个演讲者,那么在导入时可以使用 Explode 插件将这些拆分成单独的演讲者值。
  4. 用户导入:如果您正在从 CSV 文件导入用户数据,并且有一个“角色”列,其中一个用户的多个角色由分隔符分隔,那么 Explode 插件可以将这些拆分成单独的角色。
  5. 位置数据导入:如果您正在导入位置数据,其中地址、城市、州和邮政编码都在一个字段中,您可以使用 Explode 插件在导入时将它们拆分到单独的字段中。

结论

Feeds Tamper 模块是 Drupal 中一个方便的工具,可让您在导入过程中控制和调整数据。凭借其 Explode 等插件集合,它可以拆分 CSV 文件等来源的数据,并将其整齐地映射到 Drupal 字段。

该模块与 Feeds 和 Feeds Tamper Extensible Parser 模块一起,在将数据分解成更小的部分并将其正确放置在您的 Drupal 网站中方面表现出色。它特别擅长处理包含多个值的字段,例如博客文章的作者列表。

无论您是从另一个系统迁移数据还是导入大型 CSV 文件,Feeds Tamper 模块都可以使过程更顺畅、更准确。它是您 Drupal 工具箱中用于精确控制内容的绝佳工具。