locomotivemtl/charcoal-contrib-mailchimp 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

locomotivemtl/charcoal-contrib-mailchimp

最新稳定版本:0.2.0

Composer 安装命令:

composer require locomotivemtl/charcoal-contrib-mailchimp

包简介

Charcoal service provider for mailchimp implementation.

关键字:

README 文档

README

License Latest Stable Version Code Quality Coverage Status Build Status

A Charcoal service provider mailchimp implementation.

Table of Contents

Installation

The preferred (and only supported) method is with Composer:

$ composer require locomotivemtl/charcoal-contrib-mailchimp

Dependencies

Required

Configuration

Include the mailchimp module in the projects's config file. This will provide everything needed for charcoal-contrib-mailchimp to work properly.

{
    "modules": {
       "charcoal/mailchimp/mailchimp": {}
    }
}

Add the api key (Account > Settings > Extra > Api keys) in the config apis:

"apis": {
    "mailchimp": {
        "key": "myapikey-usXX"
    }
}

Usage

charcoal-contrib-mailchimp comes with a set of tools to help setup a newsletter subscription.

Properties

There are 2 different property types you can use to either select an audience or a signup form for a given audience.

Mailchimp List

Set your property as follow.

    "type": "string",
    "input_type": "charcoal/admin/property/input/mailchimp-list",
    "mailchimp_options": {
        "query_parameters": {
            "count": 20
        }
    }

You can customize the displayed label, the displayed title, the value and the subtext pattern. It is also possible to add query parameters (see Doc) Default as follow:

"mailchimp_options": {
    "title_pattern": "{{name}}",
    "value_pattern": "{{id}}",
    "label_pattern": "{{name}}",
    "subtext_pattern": "Web ID: {{id}}",
    "query_parameters": []
}

Mailchimp Signup Form

    "type": "string",
    "input_type": "charcoal/admin/property/input/mailchimp-form",
    "mailchimp_options": {
        [...]
    }

You can customize the displayed label, the displayed title, the value and the subtext pattern. Default as follow:

"mailchimp_options": {
    "title_pattern": "{{header.text}}",
    "value_pattern": "{{signup_form_url}}",
    "label_pattern": "{{header.text}}",
    "subtext_pattern": "Form URL: {{signup_form_url}}"
}

User subscription

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');
    }
}

The mailchimp service is standalone and can be used directly if you know the endpoints by using the post, patch, get, put and delete methods.

// 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'
]);

Coding Style

The charcoal-contrib-mailchimp module follows the Charcoal coding-style:

Coding style validation / enforcement can be performed with composer phpcs. An auto-fixer is also available with composer phpcbf.

Credits

License

Charcoal is licensed under the MIT license. See LICENSE for details.

统计信息

  • 总下载量: 359
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 13
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-06-04