昨日に引き続き、MODx 研究中。
ということで、使っていてまず気になるのは、日本語化されていない箇所があること。
公式サイトに言語パックがありますが、これでも不完全な点があるので簡単に補足しておきます(ほぼ覚え書きですw)
なお、対象の MODx のバージョンは 0.9.5 で、文字コードは UTF-8 の環境です。
■ TinyMCE の日本語化
詳しくは公式サイトのフォーラムにありますが、v0.9.5 に標準添付される TinyMCE プラグインには日本語化に関してのバグがあります。
[リソース] - [リソース管理] - [プラグイン]タブから TinyMCE を選択し、プラグインコードの 178行目付近(function getTinyMCEScript($elmList,$webTheme='',$width='',$height='',$lang='') { の下)に
global $manager_language;
を付け加えます。
■「パスワード変更リクエスト」メールの日本語化
公式サイトにある言語パックを適応することでメッセージ類は日本語化されますが、肝心の送信されるメールが化けます。
[リソース] - [リソース管理] - [プラグイン]タブから Forgot Manager Login を選択し、プラグインコードの113行目付近($mail = mail($to, $subject, $body, $headers); の上)に
if (strpos($modx->config['manager_language'], 'japanese') !== FALSE) {
$mail_charset = "iso-2022-jp";
mb_internal_encoding($modx->config['etomite_charset']);
$headers = str_replace("iso-8859-1", $mail_charset, $headers);
$subject = mb_encode_mimeheader($subject, $mail_charset);
$body = mb_convert_encoding($body, $mail_charset, $modx->config['etomite_charset']);
}
を付け加えます。
見ての通り、強引に iso-2022-jp 文字コードに変換しているだけの、お手軽ハックですw