-
-
Save ounziw/bcd519b3c18cff0ab1e1dd50b658c4b9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
****************************** | |
concrete5 ログインユーザーの属性を Mautic のトラッキングコードに引き渡すサンプル | |
****************************** | |
concrete5 テーマファイルに実装していただく想定です。 | |
concrete5 側のユーザー属性サンプル | |
メールアドレスは concrete5 のデフォルトのメールアドレスを取得する | |
last_name: 姓 | |
first_name: 名 | |
company: 会社名 | |
Mautic 側で設定した属性のハンドル | |
email: メールアドレス (固定) | |
lastname: 姓 | |
firstname: 名 | |
company: 会社名 | |
*/ | |
// 自分のMautic サイトの URL (最後にスラッシュはつけない) | |
$mauticURL = 'https://katz.mautic.net'; | |
// 左に Mautic の属性のハンドル、右側に concrete5 のユーザー属性のハンドルを入れる | |
// 1属性を1行ごとに分けてください | |
// concrete5 の属性のハンドルを間違えるとエラーが出るので気をつけてください | |
$attributeSettings = "lastname, last_name | |
firstname, first_name | |
company, company"; | |
// Mautic & concrete5 の属性ここまで | |
$u = new User(); | |
$mtTag = null; | |
if (is_object($u) && $u->checkLogin()) { | |
$mtTags = array(); | |
$attributeSettings = explode(PHP_EOL, $attributeSettings); | |
if (is_array($attributeSettings)) { | |
foreach ($attributeSettings as $i => $attributeSetting) { | |
$path_array = explode(',', $attributeSetting); | |
$mtTags[$i]['mautic'] = trim($path_array[0]); | |
$mtTags[$i]['concrete5'] = trim($path_array[1]); | |
} | |
} | |
$ui = UserInfo::getByID($u->uID); | |
$mtTag = array('email' => $ui->getUserEmail()); // まず concrete5 のユーザーのメールアドレスを登録 | |
if(is_array($mtTags)) { | |
foreach ($mtTags as $mtTagsItem) { | |
$mtTag = array_merge($mtTag, | |
array( | |
$mtTagsItem['mautic'] => $ui->getAttribute($mtTagsItem['concrete5']) | |
) | |
); | |
} | |
} | |
$mtTag = json_encode($mtTag, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE); | |
} | |
if(!$c->getAttribute('exclude_mautic_tracking')) { | |
?> | |
<script> | |
(function(w,d,t,u,n,a,m){w['MauticTrackingObject']=n; | |
w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)},a=d.createElement(t), | |
m=d.getElementsByTagName(t)[0];a.async=1;a.src=u;m.parentNode.insertBefore(a,m) | |
})(window,document,'script','<?php echo $mauticURL; ?>/mtc.js','mt'); | |
<?php if( $mtTag ) { ?> | |
mt('send', 'pageview', <?php echo $mtTag; ?>); | |
<?php } else { ?> | |
mt('send', 'pageview'); | |
<?php } ?> | |
</script> | |
<?php } ?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
json ヘルパを使わない
concretecms/concretecms#4398