【Community Server・KB】言語リソース”email.xml” に<br>タグを挿入してはいけない
TLC.com で利用する CS のバージョンを 2007 にしました。
この際に利用する言語ファイルを 2.1 向けのものから自分で改造したわけです。
言語のリソースファイルは大きくわけて次の3つの系統になっています
-
ユーザー向けのインターフェイスの言語
-
管理者向けコントロールパネルの言語
-
サイトが送信するメールの内容に関する言語
このうち,メールのテンプレートになる「email.xml」 に罠が潜んでいました。とくに 2007 に限ったことではなく,もともとそういう仕様だたのですが,
メールテンプレート中にテキストテンプレートと HTML テンプレート書くため,
HTML テンプレートに自然と「<br>」タグを書き込んでいました。
KB 「言語リソース”email.xml” に<br>タグを挿入してはいけない」
現象:
email の送信時に言語リソースの xml 解釈で問題を起こし,ハンドルされない例外となるため,画面がエラー通知画面に遷移してします。
これは,フォーラムへの投稿・返信,コメントの投稿,PM の送信など,サブスクリプションメールや通知メールに関する動作が起動される箇所で発生してしまう。
エラー情報:
x 行目にある開始タグ 'br' と、終了タグ 'div' とは対応していません。 行 y、位置 z です。
このエラーは 「コントロールパネル>レポート>例外レポート」 に報告されます。 「ハンドルされない例外を含む」 をチェックして表示するとよいでしょう。
まとめ
日本語リソースを独自に作成する場合は,html タグを編集している間についつい「<br>」タグを挿入してしまいます。
「email.xml」 内の <br> <br /> タグを検索して一括で除去してしまえば問題は解決します。