fahlgrendigital/packages-statamic-form-manager

关于此包的最新版本(v1.1.12)没有可用的许可证信息。

Statamic 表单管理器

v1.1.12 2024-08-09 15:53 UTC

README

将提交的表单数据发送到第三方服务。可能的示例包括

  • 将数据发送到 CRM 以进行进一步的销售线索管理
  • 将数据发送到数据库以进行冗余

安装

$ composer require fahlgrendigital/packages-statamic-form-manager

发布

$ php artisan vendor:publish --tag=statamic-form-manager-config

配置

事件监听器

表单管理器事件监听器需要配置,以便此包能够从 Statamic 收集提交。为此,您需要在 Laravel EventServiceProvider 中注册 FormSubmissionManager。

protected $listen = [
        \Statamic\Events\SubmissionSaved::class => [
            \Fahlgrendigital\StatamicFormManager\Listeners\FormSubmissionsManager::class
        ]
    ];

statamic-form-manager

Statamic 表单管理器允许您配置管理器以处理将表单数据传输到指定目的地。要创建自己的管理器,您可以编辑 statamic-form-manager.managers 数组。给您的管理器一个唯一的蛇形名称,并将其添加到现有管理器的列表中。

在幕后,表单管理器使用队列处理表单数据。您可以在 statamic-form-manager.queue 配置中指定队列连接和队列。

默认值

  • statamic-form-manager.queue.connection: env('QUEUE_CONNECTION') 或 'sync'
  • statamic-form-manager.queue.queue: env('STATAMIC_FORM_MANAGER_QUEUE') 或 'form-submissions'

如果您使用 Horizon,请确保配置我们的一位监督进程来处理您在上面的配置中设置的队列。

表单配置

statamic-forms

默认情况下,表单管理器未配置为处理任何表单,因为它们将针对每个项目而异。此配置有两个主要部分

默认值

您可以指定特定于管理器的默认值,这些值将应用于由该管理器管理的所有表单。例如,如果针对您特定的 CRM(Hubspot),所有表单都应该具有默认表单键/值对

lead_source: really-cool-website

这可以在该管理器的蛇形名称下的 defaults 部分中添加。如果使用内置 CRM 管理器,这可能看起来像以下内容

'defaults' => [
  'crm::hubspot' => [
    'defaults' => [
      'lead_source' => 'really-cool-website'
    ] 
  ]
]

请注意 crm::hubspot 表单名称。这将在下面进行更详细的解释。

请注意表单管理器名称下的 defaults 键。

深入了解

可以配置 3 个不同的表单管理器数据桶

  • 默认值
  • 映射

默认值

这些将是您希望传递给每个由给定管理器处理的表单的静态值。上面的示例是这种情况的一个很好的用例。

映射

此配置在构建第三方有效负载 blob 时执行键到键的映射。例如,假设您的表单在 Statamic 中有一个名为 first_name 的字段,但在您的 CRM 中该字段需要映射到所有表单的 name_1。这可以配置如下

'defaults' => [
  'crm::hubspot' => [
    'defaults' => [
      'lead_source' => 'really-cool-website'
    ],
    'maps' => [
      'name_1' => 'first_name'
    ]
  ]
]

表单