fitzage/optimus-bard

此包最新版本(v1.1)没有可用的许可信息。

Optimus Bard 会从 Statamic Bard 字段获取内容,并在更新搜索索引时将其转换为字符串

v1.1 2022-04-26 16:25 UTC

This package is auto-updated.

Last update: 2024-09-26 21:26:12 UTC


README

Optimus Bard 会从 Statamic Bard 字段获取内容,并在更新搜索索引时将其转换为字符串

重要提示

此插件目前仅适用于具有至少一个集定义的 bard 字段。

功能

此插件的功能

  • 从搜索转换器接收 Bard 字段
  • 将 Bard 字段中所有文本块合并成一个字符串,包括用户定义的列表中的文本集
  • 对生成的字符串进行一些有见地的清理
  • 将字符串返回到搜索转换器,替换搜索索引中的 Bard 字段

如何安装

您可以在 Statamic 控制面板的“工具 > 插件”部分搜索此插件并点击“安装”,或者从项目根目录运行以下命令

composer require fitzage/optimus-bard

如何使用

使用Statamic 搜索文档配置您的搜索索引。

config/statamic/search.php 中,在 <?php 行下方添加以下内容

use Fitzage\OptimusBard\TransformBard;

config/statamic/search.php 中,根据Statamic 文档将转换器添加到您的搜索索引中。

向转换器发送三个必需参数和一个可选参数

  1. 字段本身。这作为变量传递给初始转换器函数,然后将其传递给 TransformBard 作为第一个参数。
  2. 包含该字段定义的蓝图路径,即 collections/blog/article
  3. 蓝图中的字段名称,这将与您正在转换的字段名称相同。
  4. 可选:包含要包含在字符串中的除标准文本类型之外的 Bard 集类型数组的数组。如果您在 Bard 字段中有包含要索引的信息的自定义集,则此功能很有用。

转换器的内容应如下所示,包括可选数组

'field_name' => function ($field_name) {
    return TransformBard::transform($field_name, 'blueprint/path', 'field_name', ['set_type_1', 'set_type_2']);
},

您的索引配置现在将类似于以下内容

'blog' => [
  'driver' => 'algolia',
  'searchables' => 'collection:blog',
  'fields' => ['title','description','body'],
  'transformers' => [
    'body' => function ($body) {
      return TransformBard::transform($body, 'collections/blog/article', 'body', ['columns', 'info_block']);
    },
  ]
],

致谢

特别感谢Erin Dalzell 分享了启动我的代码,并提供了额外的帮助,包括帮助我为我的插件想出一个创意名称。