WelcartとAcmailerを連動させる
WelcartとAcmailerを連動させて、商品購入時にメールマガジン購読を希望した場合、Acmailerにメールアドレスを登録させるサンプル。
1.下準備
ACMailerとwelcartはインストールしておく。
http://www.welcart.com/community/archives/1283
を参考に、completion.phpを待避させておく。
2.カスタムオーダーフィールドの設定
WelcartShop→カートページ設定→カスタム・オーダーフィールドを選択。
フィールドキーにmailmaga、フィールド名にメールマガジン購読、セレクト値に希望しない、希望する を入力する。
3.completion.phpの編集
待避したcompletion.phpの最後尾(?>の手前)に下記のコードを入力する。
if($entry['custom_order']['mailmaga']=='希望する') { $url = 'http://XXXX.XXX.COM/reg.cgi'; $data = array( 'email' => $entry['customer']['mailaddress1'], 'reg' => 'add', 'encode' => '文字コード' ); $options = array('http' => array( 'method' => 'POST', 'content' => http_build_query($data), )); $contents = file_get_contents($url, false, stream_context_create($options)); }
$urlには、ACMAILERへのパスを入力。(http://aaa.com/mail/の場合http://aaa.com/mail/reg.cgiと入力)
Email以外にも必要データがある場合には$dataの中に#col1,col2。。。と追加できます(ACMAILERの方で設定している場合)
設定後、試しに注文してみてメールアドレスが登録されてたら無事設定完了です。お疲れ様でした。
はじめまして。
質問なのですが、このシステムを会員登録時に組み込むことは可能でしょうか?
if($entry[‘custom_order’][‘mailmaga’]==’希望する’) {
$url = ‘http://****/reg.cgi’;
$data = array(
‘email’ => $usces_members[‘mailaddress1’],
‘reg’ => ‘add’,
‘encode’ => ‘文字コード’
);
$options = array(‘http’ => array(
‘method’ => ‘POST’,
‘content’ => http_build_query($data),
));
$contents = file_get_contents($url, false, stream_context_create($options));
}
というコードを書いてみたのですが、どうもうまく動かないのです。
よろしくお願いします。
すみません。先程のコードですが、member/member_form.phpの最後に記述しました。
会員登録時に組み込みたい場合は
WelcartShop→カートページ設定→カスタム・オーダーフィールドを選択。
の場所を
WelcartShop→メンバーページ設定→カスタム・メンバーフィールドを選択。
に変更してフィールドを登録しておく必要があります。
その後でmember/completion.php の下部に上のコードを
if($entry[‘custom_order’][‘mailmaga’]==’希望する’) {
を
if($_POST[‘custom_member’][‘mailmaga’]==’希望する’) {
に
‘email’ => $usces_members[‘mailaddress1’],
を
‘email’ => $_POST[‘member’][‘mailaddress1’],
に変更すれば多分動きます。
動作確認していないので動かなかったら又ご連絡ください。
お世話になります。
上記記事を参考に会員登録画面に設置してみたのですが、
acmailerへメルアドが登録されません。
登録完了まで特にエラーはでていないのですが、acmailerのメールアドレス一覧を見ると反映されていないです。
acmailer側の問題でしょうか?
お忙しい中大変恐縮ですが、ご教示いただけますと幸いです。
宜しくお願い致します。
うーん・・・実際テスト動作を確認していないので正常に動作するかはあまり自信がありませんが
1.カスタム・メンバーフィールドに登録されている値は間違っていないか。
(フィールドキーにmailmaga、フィールド名にメールマガジン購読、セレクト値に希望しない、希望する)変更する場合はプログラムの該当文字を変更
2.member/completion.phpに記述しているか。
3.acmailerのパスは間違っていないか。
とかですかね。後で時間があるときに検証してみたいと思います。
震災もありましてご連絡遅くなりました。
フィールドの名称もパスもあっているかとは思うのですが。。。
もし解決策などございましたらご教示いただければ幸いです。
宜しくお願い致します。
[…] 調べてみると http://techblog.55w.jp/?p=185 のように、WelcartからAcmailerへメールアドレスの登録ができるらしい。 […]
記載されている通りにやっているのですがどうしてもメールアドレスが登録されません…どうしたら良いかご教授いただけませんでしょうか?