2007年4月29日 (日)

日本語メールフォームスニペット公開

日本語環境を前提に作られた、MODx 用スニペット「cfFormMailer」を公開しました。
ここでは何かと面倒(?!)なので、私のサイト内に増設したブログからダウンロードできます。

網的脚本実験室 * Script Laboratory for Web Programming

いきなり version 0.0.3 からというヘンな公開ではありますが、検証項目や出力フィルタを追加できたりなど、それなりに多機能です。
気が向いた方は、是非ご利用ください。
また、バグ報告もお待ちしております。

| | コメント (0) | トラックバック (0)

2007年4月11日 (水)

いろいろ日本語化

昨日に引き続き、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

| | コメント (0) | トラックバック (0)