2

我正在尝试在 Craft CMS v2 中创建一个联系表单,其中包含一个订阅按钮,该按钮会将用户的详细信息添加到 MailChimp 邮件列表中。我目前正在尝试使用这个MailChimp Plugin和这个Contact Form Plugin,尽管合并两个插件被证明是相当困难的。理想情况下,此表单将通过 AJAX 提交。我希望这里有人在使用或不使用插件之前使用 Craft 做过类似的事情。谢谢。

4

1 回答 1

0

描述:为用户订阅 Craft CMS 中的 Mailchimp 列表

来源:https ://github.com/boundstate/craft-mailchimp

联系表格 JavaScript 添加

在联系表单插件中,您可以添加一些调用 Mailchimp 表单操作的 javascript:

<form method="post" action="" accept-charset="UTF-8">
{{ csrfInput() }}
<input type="hidden" name="action" value="mailchimp/subscribe">
{{ redirectInput('subscribe/thanks') }}

<h3><label for="name">Your Name</label></h3>
<input id="name" type="text" name="mergeFields[NAME]" value="{{ subscription.mergeFields.NAME ?? '' }}" required>

<h3><label for="email">Your Email</label></h3>
<input id="email" type="email" name="email" value="{{ subscription.email ?? '' }}" required>
{{ subscription.getErrors('email')|join() }}

<input type="hidden" name="tags[]" value="Tag 1">
<input type="hidden" name="tags[]" value="Tag 2">

<input type="submit" value="Subscribe">
</form>
发送控制器

来源https://github.com/craftcms/contact-form/blob/v2/src/controllers/SendController.php

在发送控制器中,您将使用 get Body 函数来获取复选框值,然后调用 Mailchimp 控制器,例如 mailchimp/subscribe 传递电子邮件和名称。您必须使用上述 mailchimp 插件在发布请求中执行此操作。

https://github.com/boundstate/craft-mailchimp/blob/master/src/controllers/SubscribeController.php

或者扩展订阅控制器以允许在发送控制器中调用它。

于 2021-08-27T20:57:14.567 回答