[Mautic 2.16.2] 漢字がピンインに、ひらがなカタカナがローマ字に変換されるのをどうにかしたい

Mauticのコンタクトでトラッキングしたユーザーのイベントに表示されるページタイトルが漢字はピンインに、ひらがなカタカナはローマ字に変換されるという謎の仕様があります。

「o weni hewase (ru lipeji)」や「o weni hewase (que renpeji)」は本来はそれぞれ「お問い合わせ(入力ページ)」、「お問い合わせ(確認ページ)」というページタイトルで、「お」→「o」とひらがながローマ字に、「問」→「wen」のように漢字がピンインに変換されてしまい、全く読めない謎の言語が誕生してしまうので、これをどうにかしたい。

ファイルの場所 /app/bundles/PageBundle/Model/PageModel.php

// 616行目
$safeTitle = InputHelper::transliterate($query['page_title']);
↓
$safeTitle = $query['page_title'];

本来は便利な機能なはずなのですが、「InputHelper::transliterate」が悪さをしているので、使用しないように変更しました。

[Mautic 2.16.2] 日本語化しても日本向けにならない部分を直そう

オープンソースのMAツール、Mauticを使い始めたところ、一応日本語対応しているのですが細かい部分でちらほら日本の環境に最適化されていないなと思った部分がいくつかあったので、直しました。

姓名が逆順で表示される

デフォルトだと「名, 姓」の順で表示されてしまうので、これを「姓 名」の表示に変えたい。
こういうのは管理画面で設定できると本当に便利なのになぁと思ったり。
主に姓名逆順で困るのが、以下。

  • コンタクト(リード)のリスト
  • 送信メールの名前

コンタクト(リード)のリスト

ファイルの場所 /app/bundles/LeadBundle/Controller/LeadController.php

// 1308行目
$leadName         = $leadFields['firstname'].' '.$leadFields['lastname'];
↓
$leadName         = $leadFields['lastname'].' '.$leadFields['firstname'];

ファイルの場所 /app/bundles/LeadBundle/Controller/LeadController.php

// 1308行目
$leadName         = $leadFields['firstname'].' '.$leadFields['lastname'];
↓
$leadName         = $leadFields['lastname'].' '.$leadFields['firstname'];

// 1835行目
$items[$user['id']] = $user['firstName'].' '.$user['lastName'];
↓
$items[$user['id']] = $user['lastName'].' '.$user['firstName'];

ファイルの場所 /app/bundles/LeadBundle/Entity/Lead.php

// 710行目
public function getName($lastFirst = false) //この$lastFirstのtrue/falseで判定している
↓
public function getName($lastFirst = true)

// 717行目
$fullName = $lastName.', '.$firstName;
↓
$fullName = $lastName.' '.$firstName; // カンマが不要なので削除

// 754行目
public function getPrimaryIdentifier($lastFirst = false)
↓
public function getPrimaryIdentifier($lastFirst = true)

送信メールの名前

//*ファイルの場所 /app/bundles/EmailBundle/Model/EmailModel.php
// 1622行目
if (!$mailer->setTo($user['email'], $user['firstname'].' '.$user['lastname'])) {
↓
if (!$mailer->setTo($user['email'], $user['lastname'].' '.$user['firstname'])) {

// 2404行目
if (!$mailer->setTo($user['email'], $user['firstname'].' '.$user['lastname'])) {
↓
if (!$mailer->setTo($user['email'], $user['lastname'].' '.$user['firstname'])) {

コンタクトの詳細で住所の順番が海外式

住所の表記も逆に表示されてしまうので、これを解消したい。

//*ファイルの場所 /app/bundles/LeadBundle/Views/Lead/lead.html.php
// 511行目から
<address class="text-muted">
  <?php if (isset($fields['core']['address1'])): ?>
    <?php echo $view->escape($fields['core']['address1']['value']); ?><br>
  <?php endif; ?>
  <?php echo (!empty($fields['core']['address2']['value'])) ? $view->escape($fields['core']['address2']['value']).'<br>' : ''; ?>
  <?php echo $view->escape($lead->getLocation()); ?>
  <?php echo isset($fields['core']['zipcode']) ? $view->escape($fields['core']['zipcode']['value']) : '' ?>
<br>
</address>
↓
<address class="text-muted">
  〒 <?php echo isset($fields['core']['zipcode']) ? $view->escape($fields['core']['zipcode']['value']) : '' ?>
<br>
  <?php echo $view->escape($lead->getLocation()); ?>
  <?php if (isset($fields['core']['address1'])): ?>
    <?php echo $view->escape($fields['core']['address1']['value']); ?>
  <?php endif; ?>
  <?php echo (!empty($fields['core']['address2']['value'])) ? $view->escape($fields['core']['address2']['value']) : ''; ?>
</address>