定制 locomotivemtl/charcoal-contrib-mailchimp 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

locomotivemtl/charcoal-contrib-mailchimp

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.

locomotivemtl/charcoal-contrib-mailchimp 适用场景与选型建议

locomotivemtl/charcoal-contrib-mailchimp 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 368 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 06 月 04 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「charcoal」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 locomotivemtl/charcoal-contrib-mailchimp 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 locomotivemtl/charcoal-contrib-mailchimp 我们能提供哪些服务?
定制开发 / 二次开发

基于 locomotivemtl/charcoal-contrib-mailchimp 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

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