MailChimp との連携機能


MailChimpとはマーケティングオートメーションツールで顧客に応じてメールマガジンを送ったりすることができます。

カスタマイズ

今回のハンズオンではsimple2017のお問い合わせフォームで登録された内容をMailChimpのリスト上に保存しましょう。

下準備

以下の3つのステップでa-blog cmsとMailChimpを連携します。

  1. MailChimpへの登録
  2. API key の取得
  3. a-blog cmsの拡張アプリ MailChimp にApi Keyを登録

1. MailChimpへの登録

MailChimpのアカウントをお持ちでない方はまずはMailChimpに登録してみましょう。無料で始めることができます。

2. API key の取得

下記のURLにて認証トークンを発行できます。 https://us8.admin.mailchimp.com/account/api/ 下の図のように「Create A Key」というボタンをクリックするとAPI keyが発行できるのでこのkeyを覚えておきましょう。


3. a-blog cmsの拡張アプリ MailChimpにAPI key を登録

管理ページ > 拡張アプリ より「拡張アプリ管理」のページに移動します。そのページより下の図のようにMailChimpをインストールします。


インストール完了後は、管理ページ > MailChimp よりMailChimpの管理ページに移動します。その後、「認証トークンの設定」という項目がありますので、その項目に先ほど覚えておいたAPI keyを入力します。 これでa-blog cmsとMailChimpを連携させる準備は整いました。

注意

config.server.phpでHOOKを有効にしておく必要があります。

define('HOOK_ENABLE', 1);

拡張アプリ MailChimpの使い方

  1. Formの権限設定
  2. MailChimpのカスタムフィールドの設定

1. Formの権限設定

フォームIDごとに、MailChimpのどのリストに対してInsert(データの挿入)及びUpdate(データの更新)ができるかを設定できます。例えば、下の画像の場合、フォームIDがcontactFormのフォームは、5124628dadのリストidに対して、Insert(データの挿入)及びUpdate(データの更新)ができるということになります。


2. MailChimpのカスタムフィールドの設定

次は、カスタムフィールドの設定です。ここではa-blog cmsのフォーム側の変数とMailChimp側のカスタムフィールドの紐付けを行います。例えば、一番最初の列では、emailの項目は、MailChimp側のリスト(5124628dad)のemail_addressに対応しています。


なお ListId を調べるにはMailChimpのリスト一覧ページ に移動し、下の画像のように下矢印のアイコンからメニューを表示し「Settings」をクリックして設定画面へ移動します。


そのページの一番下でリストIDが確認できます。



課題

simple2017のお問い合わせフォームから送信された内容をMailChimpの任意のリストに登録してみましょう。その時、メールアドレス(email_address)名前(FNAME)苗字(LNAME)が登録されるものとします。

ヒント

以下のようなHTMLをフォームに設置しておくことで、フォームから値が送信された段階で、送信者のメールアドレスに対して、MailChimpの「定期購読」のステータスが自動でONになります。

<input type="hidden" name="status" value="subscribed">
<input type="hidden" name="field[]" value="status">

サイトが表示されない、403エラーになってしまう

  • a-blog cmsをインストールしたけど、サイトが表示されないまたは、403エラーになってしまう場合は、設置先サーバーにindex.phpファイルが置いてあるかご確認ください。
  • 非公開状態のエントリーにアクセスしたときにログインしていないと403エラーになります。
  • またログアウトした状態で管理ページにアクセスすると403エラーになります。

モジュールIDの引数

モジュールID条件設定ではカテゴリーやエントリー、ページなどの項目にチェックボックスがついています。このチェックボックスはURLコンテキストの値を参照しています。



カテゴリーIDの入力フォームではcidの数字を入力しますが、引数にチェックすることでURLの情報に合わせてデータの表示することができます。

引数チェックボックスの使い方

引数のチェックボックスは、URLコンテキストに応じて表示する内容を変えることができます。URLコンテキストについてはURLコンテキストのページをご覧ください。

現在表示しているカテゴリーの一覧を表示させたい

カテゴリーIDの引数チェックボックスにチェックをしてください。

http://www.example.com/news/ のときはnewsカテゴリーのエントリー一覧を表示します。 http://www.example.com/products/ のときはproductsカテゴリーのエントリー一覧を表示します。
このようにURLの値によって表示させるデータを変えることができます。わざわざnewsカテゴリー一覧表示用のモジュールを作ったり、productsカテゴリー一覧表示用のモジュールを作ったりしなくてよくなります。

ページャーを使いたい

ページャーを表示させ、さらにページ(page)の引数チェックボックスにチェックをしてください。

例えば、お知らせエントリーの2ページ目のエントリーを表示させるときは、ページャーで2ページ目へのリンクを表示させると、URLの値に /page/2/ が出力されます。しかし、これだけでは2ページ目の情報を表示することはできません。
さらに、ページ(page)の引数チェックボックスにチェックすることで、2ページ目へのリンクをクリックしたときに現在のページの情報を表示することができます。 http://www.example.com/news/page/2/

キーワード検索したい

キーワード(keyword)の引数チェックボックスにチェックをしてください。

検索フォームからキーワードを入力して検索するとURLに検索したキーワードが入ります。例えば「醤油」というキーワードで検索するとURLに /keyword/醤油/ という値が含まれ、「醤油」という文字を持っているエントリー一覧を表示することができます。
http://www.example.com/keyword/醤油/

タグの絞り込みがしたい

タグ(tag)の引数チェックボックスにチェックをしてください。

タグクラウドのリンクをクリックするとURLに選択したタグの値が入ります。例えば「フォーム」というタグを持ったエントリーの一覧を表示させたいときはURLに /tag/フォーム/ と入れて絞り込めるようにします。
http://www.example.com/tag/フォーム/

カスタムフィールドの絞り込みがしたい

フィールド(field) の引数チェックボックスにチェックをしてください。

カスタムフィールドの絞り込みをする場合はURLに /field/カスタムフィールド変数名/値/ が入っていれば、そのカスタムフィールドの値を持っているエントリーを表示することができます。
http://www.example.com/field/pickup/true/

期間で絞り込みがしたい

開始日時(start)と 終了日時(end)の引数チェックボックスにチェックをしてください。

例えば、Entry_ArchiveListモジュールなどで2014年1月に投稿したエントリー一覧を表示させる場合はURLに /2014/01/ という値が入ります。「開始日時(start)」と「 終了日時(end)」の引数がチェックすることで、2014年1月に投稿したエントリー一覧を表示させることができます。
http://www.example.com/2014/01/

Slackとの連携機能

a-blog cmsの拡張アプリ「slack」を使うとフォームからデータが送信された段階でそのフォームのデータを加工し、slackに通知することができます。例えばフォームから「資料請求」などがあれば「資料請求がありました。」などとslackの好きなチャンネルに通知できます。

カスタマイズ

今回のハンズオンではsimple2017のお問い合わせフォームで登録された内容をSlackの任意のチャンネルに送信しましょう。

下準備

以下の3つのステップでa-blog cms とSlackを連携します。

  1. Slackへの登録
  2. Webhook URL の取得
  3. a-blog cmsの拡張アプリ Slackに Webhook URL を登録

1. Slackへの登録

Slackのアカウントをお持ちでない方は下記のURLにてアカウントを作成しましょう。ある程度の機能までは無料で使うことができます。 https://slack.com/

2. Webhook URL の取得

下記のURLにてチャネルを指定して Webhook URL を取得します。ここで登録したチャネル以外のチャネルにもメッセージを飛ばすことはできますので好きなチャネルを指定して作成しましょう。 https://slack.com/services/new/incoming-webhook

3. a-blog cmsの拡張アプリ Slackに Webhook URL を登録

管理ページ > 拡張アプリより「拡張アプリ管理」のページに移動します。そのページより下の図のようにSlackをインストールします。



インストール完了後は、管理ページ >Slack よりSlackの管理ページに移動します。その後、「Webhook URL」という項目がありますので、その項目に先ほど覚えておいた Webhook URL を入力します。 これでa-blog cmsとSlackを連携させる準備は整いました。

注意

config.server.phpでHOOKを有効にしておく必要があります。

define('HOOK_ENABLE', 1);

拡張アプリ Slack の使い方

下の図のように、Slackに通知したいFormIDを指定し、メッセージの送信先チャネルを「Channel」に送信元の名前を「From」に設定します。またメッセージにはFormモジュールの変数と、グローバル変数を使用することができます。


課題

simple2017のお問い合わせフォームから送信された内容をSlackの任意のチャンネルで通知してみましょう。通知内容は任意で構いませんが、グローバル変数とフォームモジュールの変数を使うようにしてみましょう。