Skip to content

Commit 4407dcf

Browse files
committed
Bump docs
1 parent 255ee96 commit 4407dcf

File tree

3 files changed

+130
-2
lines changed

3 files changed

+130
-2
lines changed

.docs/README.md

+128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Mailchimp
2+
3+
## Content
4+
5+
- [Configuration](#configuration)
6+
- [Services available in DI container](#services-available-in-di-container)
7+
- [Usage](#usage)
8+
9+
## Configuration
10+
11+
You have to register this extension at first.
12+
13+
```yaml
14+
extensions:
15+
trejjam.mailchimp: Trejjam\MailChimp\DI\MailChimpExtension
16+
```
17+
18+
List of all options:
19+
20+
```yaml
21+
trejjam.mailchimp:
22+
findDataCenter: true/false # enabled by default, if false apiUrl mus be filled in compatible way with apiKey
23+
apiUrl: 'https://%s.api.mailchimp.com/%s/' #default, first placeholder is data center extracted from apiKey, second is for API version
24+
apiKey: 'someApiKey123-us11'
25+
lists:
26+
newsletter: 'foo123'
27+
segments:
28+
newsletter:
29+
bar: 123
30+
```
31+
32+
Minimal production configuration:
33+
34+
```yaml
35+
extensions:
36+
trejjam.mailchimp: Trejjam\MailChimp\DI\MailChimpExtension
37+
38+
trejjam.mailchimp:
39+
apiKey: 'someApiKey123-us11'
40+
```
41+
42+
## Services available in DI container
43+
44+
- [`Trejjam\MailChimp\Request`](https://github.com/trejjam/mailchimp/blob/master/src/Request.php)
45+
This class is supposed to perform http requests with API token through `GuzzleHttp\Client`
46+
- [`Trejjam\MailChimp\Context`](https://github.com/trejjam/mailchimp/blob/master/src/Context.php)
47+
Kind of root node, contains getter for existing implementation of API scopes
48+
- [`Trejjam\MailChimp\Group\Root`](https://github.com/trejjam/mailchimp/blob/master/src/Group/Root.php)
49+
The simplest API scope, provides only one `get` method returning object with user info (related to API token)
50+
- [`Trejjam\MailChimp\Group\Lists`](https://github.com/trejjam/mailchimp/blob/master/src/Group/Lists.php)
51+
API scope containing methods to manipulate with entities in Mailchimp lists. See class content to check available operations.
52+
- [`Trejjam\MailChimp\Lists`](https://github.com/trejjam/mailchimp/blob/master/src/Lists.php)
53+
Configuration object supposed to provide mapping between lists in Mailchimp environment and local friendly names
54+
- [`Trejjam\MailChimp\Segments`](https://github.com/trejjam/mailchimp/blob/master/src/Segments.php)
55+
Configuration object supposed to provide mapping between segments (part of a list) in Mailchimp environment and local friendly names
56+
57+
## Usage
58+
59+
Example user subscribe component
60+
61+
`OrderPresenter.php`:
62+
```php
63+
/**
64+
* @method onNewsletterSubscribe(Trejjam\MailChimp\Entity\Lists\Member\MemberItem $memberItem)
65+
* @method onNewsletterSubscribeError(Trejjam\MailChimp\Entity\Lists\Member\MemberItem $memberItem)
66+
*/
67+
final class MessageFactory extends UI\Component
68+
{
69+
/**
70+
* @var Trejjam\MailChimp\Lists
71+
*/
72+
private $mailchimpListDictionary;
73+
/**
74+
* @var Trejjam\MailChimp\Group\Lists
75+
*/
76+
private $mailchimpList;
77+
78+
/**
79+
* @var callable[]
80+
*/
81+
public $onNewsletterSubscribe = [];
82+
/**
83+
* @var callable[]
84+
*/
85+
public $onNewsletterSubscribeError = [];
86+
87+
public function __construct(
88+
Trejjam\MailChimp\Lists $mailchimpListDictionary,
89+
Trejjam\MailChimp\Group\Lists $mailchimpList
90+
) {
91+
parent::__construct();
92+
93+
$this->mailchimpListDictionary = $mailchimpListDictionary;
94+
$this->mailchimpList = $mailchimpList;
95+
}
96+
97+
protected function createComponentNewsletter()
98+
{
99+
$form = new Nette\Application\UI\Form;
100+
101+
$form->addEmail('email', 'email')
102+
->setRequired()
103+
->addRule($form::EMAIL);
104+
105+
$form->addSubmit('submit', 'submit');
106+
$form->onSuccess[] = [$this, 'processNewsletterSubscribe'];
107+
108+
return $form;
109+
}
110+
111+
public function processNewsletterSubscribe(Nette\Application\UI\Form $form, \stdClass $values) : void
112+
{
113+
$memberItem = Trejjam\MailChimp\Entity\Lists\Member\MemberItem::create(
114+
$values->email,
115+
$this->mailchimpListDictionary->getListByName('newsletter'),
116+
Trejjam\MailChimp\Entity\Lists\Member\MemberItem::STATUS_PENDING
117+
);
118+
119+
try {
120+
$this->mailchimpList->addMember($memberItem);
121+
122+
$this->onNewsletterSubscribe($memberItem);
123+
} catch (Trejjam\MailChimp\Exception\MemberNotFoundException $e) {
124+
$this->onNewsletterSubscribeError($memberItem);
125+
}
126+
}
127+
}
128+
```

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
MailChimp - alpha version=========[![Latest stable](https://img.shields.io/packagist/v/trejjam/mail-chimp.svg)](https://packagist.org/packages/trejjam/mail-chimp)Implementation MailChimp API v3 for Nette Framework- http://developer.mailchimp.com/documentation/mailchimp/reference/overviewInstallation------------The best way to install Trejjam/MailChimp is using [Composer](http://getcomposer.org/):```sh$ composer require trejjam/mail-chimp```Configuration-------------.neon```extensions: mailChimp: Trejjam\MailChimp\DI\MailChimpExtensionmailChimp: findDc: TRUE #default apiUrl: 'https://%s.api.mailchimp.com/3.0/' #default apiKey: 'someApiKey123-us11' lists: newsletter: 'foo123' segments: newsletter: bar: 123```Minimal Configuration---------------------.neon```extensions: mailChimp: Trejjam\MailChimp\DI\MailChimpExtensionmailChimp: apiKey: 'someApiKey123-us11'```
1+
# Trejjam > Mailchimp-----[![Licence](https://img.shields.io/packagist/l/trejjam/mail-chimp.svg?style=flat-square)](https://packagist.org/packages/trejjam/mail-chimp)[![Downloads this Month](https://img.shields.io/packagist/dm/trejjam/mail-chimp.svg?style=flat-square)](https://packagist.org/packages/trejjam/mail-chimp)[![Downloads total](https://img.shields.io/packagist/dt/trejjam/mail-chimp.svg?style=flat-square)](https://packagist.org/packages/trejjam/mail-chimp)[![Latest stable](https://img.shields.io/packagist/v/trejjam/mail-chimp.svg?style=flat-square)](https://packagist.org/packages/trejjam/mail-chimp)## Install```composer require trejjam/mail-chimp```## Versions| State | Version | Branch | PHP ||-------------|---------|----------|----------|| dev | `^0.2` | `master` | `>= 7.1` || stable | `^0.1` | `master` | `>= 7.1` |## Overview- [Configuration](https://github.com/trejjam/mailchimp/blob/master/.docs/README.md#configuration)- [Services available in DI container](https://github.com/trejjam/mailchimp/blob/master/.docs/README.md#services-available-in-di-container)- [Usage](https://github.com/trejjam/mailchimp/blob/master/.docs/README.md#usage)## Links- [Official API reference](http://developer.mailchimp.com/documentation/mailchimp/reference/overview)## Maintainers<table> <tbody> <tr> <td align="center"> <a href="https://github.com/trejjam"> <img width="150" height="150" src="https://avatars2.githubusercontent.com/u/3594540?s=150&v=4"> </a> </br> <a href="https://github.com/trejjam">Jan Trejbal</a> </td> </tr> </body></table>-----Thank you for testing, reporting and contributing.

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
},
3939
"extra": {
4040
"branch-alias": {
41-
"dev-master": "v0.6.x-dev"
41+
"dev-master": "v0.2.x-dev"
4242
}
4343
}
4444
}

0 commit comments

Comments
 (0)