コメント・プレビューで実体参照が無効になる不具合を解消する
Movable Type のエントリー・アーカイブでコメントを書き、「確認」をクリックしてコメント・プレビュー画面に遷移すると、コメントに書いた実体参照、例えば
<$MTBlogURL$>
が
<$MTBlogURL$>
という風に、「<」や「>」が通常のタグとして表示されてしまいます。
この不具合を解消するには、コメント・プレビューテンプレートのテキストエリア表示部分に用いられている MT タグ「MTCommentPreviewBody」に下記の encode_html 属性を追加します。
デフォルトテンプレート
:
<p id="comments-open-text">
<label for="comment-text">コメント: <MTIfAllowCommentHTML>(スタイル用のHTMLタグが使えます)</MTIfAllowCommentHTML></label>
<textarea id="comment-text" name="text" rows="10" cols="50"><$MTCommentPreviewBody autolink="0" sanitize="0" convert_breaks="0" encode_html="1"$></textarea>
</p>
:
公開テンプレート
:
<p id="comments-open-text">
<label for="comment-text">コメント: <MTIfAllowCommentHTML>(スタイル用のHTMLタグが使えます)</MTIfAllowCommentHTML></label>
<textarea id="comment-text" name="text" tabindex="10" accesskey="t" rows="10" cols="50"><$MTCommentPreviewBody autolink="0" sanitize="0" convert_breaks="0" encode_html="1"$></textarea>
</p>
:
余談ですが、この事象は Movable Type 3.2 以降かつ、3.1 以前のテンプレートを使用していない場合に発生します。理由は、3.1 まではコメント・プレビューテンプレートで MTCommentFields という、コメントフィールドを丸ごと表示するタグが使われており、タグの内部処理で encode_html が行われていたからです。
私のサイトのコメント・プレビューは最近までこの MTCommentFields を使っておりまして、3.2 のデフォルトテンプレートに準拠させてから本エントリーの不具合が発生しておりました(放置してしまってすいません)。
テンプレートを改修致しましたので、「確認」をクリックしても実体参照は正常に引き継がれるようになっています。
なお、この MTCommentFields タグ、マニュアルには掲載されていませんが、3.3 でも動作するようです(ただし 3.1 の処理のままです)。
Posted by yujiro このページの先頭に戻る
- MovableTypeプラグインの独自CGIをNginxに対応させる方法
- Movable Type 5で「Got an error: Can't use 'defined(%hash)' (Maybe you should just omit the defined()?)」というエラーになる場合の対処
- 旧バージョンのMTでPerl5.26(Perl5.24以降)に対応する方法
- MT6.2のファイルアップロードで「Undefined subroutine &POSIX::strftime」になる問題の対処
- Movable Typeのファイルアップロードで「アップロードしたファイルは大きすぎます。」というエラーになる場合の対処
- Movable Typeのパスワード変更で「URLが不正です。」というエラーなる件についての対処
- Movable Typeで「Cannot find column 'blogs' for class 'MT::Blog'」となる場合の対処
- Movable TypeでMTPageNextタグが効かなくなる不具合について
- Movable Typeの復元で「Request-URI Too Large」になるときの対処
- サーバ故障と「Connection error: Too many connections」エラーおよびMySQLテーブル破損について
- Movable Typeでエラー発生箇所を特定する方法
- IE9でMovable Typeを利用する方法
- MTIfタグにtagモディファイアを利用する場合の注意事項
- Movable Type 5のブログの設定で「Can't call method &quot;label&quot; on unblessed reference」が発生する問題について
- Movable Type 5.03へのアップグレードで再構築時に「Script Error」が発生する件について(つづき)
トラックバックURL
コメントする
greeting