locomotivemtl / charcoal-contrib-mailchimp
Charcoal 服务提供商,用于 Mailchimp 实现。
0.2.0
2019-12-06 15:12 UTC
Requires
- php: >=5.6.0 || >=7.0
- ext-curl: *
- ext-json: *
- locomotivemtl/charcoal-admin: >= 0.17
Requires (Dev)
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^5.7 || ^6.5
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-09-07 02:08:30 UTC
README
A Charcoal 服务提供商的 Mailchimp 实现。
目录
安装
首选(也是唯一支持的)方法是使用 Composer
$ composer require locomotivemtl/charcoal-contrib-mailchimp
依赖关系
要求
- PHP 5.6+: PHP 7 推荐使用。
配置
在项目的配置文件中包含 mailchimp 模块。这将提供 charcoal-contrib-mailchimp 正确工作所需的一切。
{ "modules": { "charcoal/mailchimp/mailchimp": {} } }
在配置文件中添加 api 密钥(账户 > 设置 > 额外 > Api 密钥)
"apis": { "mailchimp": { "key": "myapikey-usXX" } }
使用
charcoal-contrib-mailchimp 包含一系列工具,可帮助设置新闻通讯订阅。
属性
您可以使用两种不同的属性类型来选择特定受众的受众或注册表单。
Mailchimp 列表
按照以下方式设置属性。
"type": "string", "input_type": "charcoal/admin/property/input/mailchimp-list", "mailchimp_options": { "query_parameters": { "count": 20 } }
您可以自定义显示标签、显示标题、值和子文本模式。还可以添加查询参数(请参阅 文档)。默认设置如下
"mailchimp_options": { "title_pattern": "{{name}}", "value_pattern": "{{id}}", "label_pattern": "{{name}}", "subtext_pattern": "Web ID: {{id}}", "query_parameters": [] }
Mailchimp 注册表单
"type": "string", "input_type": "charcoal/admin/property/input/mailchimp-form", "mailchimp_options": { [...] }
您可以自定义显示标签、显示标题、值和子文本模式。默认设置如下
"mailchimp_options": { "title_pattern": "{{header.text}}", "value_pattern": "{{signup_form_url}}", "label_pattern": "{{header.text}}", "subtext_pattern": "Form URL: {{signup_form_url}}" }
用户订阅
class FooBar { use MailchimpAwareTrait; [...] public function setDependencies(Container $container) { $this->setMailchimpListsMembers($container['mailchimp/lists/members']); [...] } public function run() { $user = [ 'email_address' => 'email@example.com', 'status' => 'pending', 'merge_fields' => [ 'FNAME' => 'John', 'LNAME' => 'Doe' ] ]; // Set list ID $listId = 'a4029db2d'; $this->mailchimpListsMembers()->setListId($listId); // Add/Create user $results = $this->mailchimpListsMembers()->add($user); // Add or Update user $results = $this->mailchimpListsMembers()->addOrUpdate($user); // Get a user's informations $results = $this->mailchimpListsMembers()->get('email@example.com'); // Delete a user from a list $results = $this->mailchimpListsMembers()->remove('email@example.com'); } }
mailchimp 服务是独立的,如果您知道端点,可以直接使用 post、patch、get、put 和 delete 方法。
// Get lists members $this->mailchimp()->get('lists/{list_id}/members'); // Add member to list $this->mailchimp()->post('list/{list_id}/members', [ 'email_address' => 'email@example.com', 'status' => 'pending' ]);
编码风格
charcoal-contrib-mailchimp 模块遵循 Charcoal 编码风格
- PSR-1
- PSR-2
- PSR-4,因此自动加载由 Composer 提供。
- phpDocumentor 注释。
- phpcs.xml.dist 和 .editorconfig 用于编码标准。
可以使用
composer phpcs
执行编码风格验证/强制执行。还可以使用composer phpcbf
提供的自动修复程序。
致谢
许可证
Charcoal 采用 MIT 许可证。有关详细信息,请参阅 LICENSE。