Home » May 2004 » Movable Type 3.0のMTCommentFields tag

Movable Type 3.0のMTCommentFields tag

ここで書いている内容はすでにobsoleteです。MTCommentFieldsはpreview="1"オプションを付けることでCommentPreviewBodyを展開してくれるように修正されています。ご注意ください。 2004.07.15記

Movable Type 日本語版サイト: Movable Type 3.0 Developer Edition 日本語ベータ版をお届けします
alfabeat: MovableType 3.0D日本語版がリリース

とかっていう具合に日本語版リリース作業が進んでおり、私も自分のページでBug fixを公開したり、ベータテストのページ(Beta Weblog)でパッチを流したりしているわけです。

が、当初から何かの冗談ではないかと思っているのが、Comment Preview Templateなどに使われているMTCommentFieldsタグです。Comment Preview時のFormを展開してくれるタグなのですが、前のページで入力したCommentBodyをTextareaに展開してくれません。コメンター情報(Author、Email、URL)も展開してくれません。ソースのどこを読んでもそんなこと書いてないわけで当然と言えば当然なのですが…。


lib/MT/Template/Context.pmの中にあるMTCommentFieldsタグをガリガリ書き換えてもいいのですが、以下のようにComment Preview Templateなどの<MTCommentFields>の直後にJavaScriptを追加することで対処するのがよいでしょう。

<MTCommentFields>
<script language="javascript" type="text/javascript">
<!--
if (document.comments_form.author)
    document.comments_form.author.value =
        '<$MTCommentPreviewAuthor encode_js="1"$>';
if (document.comments_form.email)
    document.comments_form.email.value =
        '<$MTCommentPreviewEmail encode_js="1"$>';
if (document.comments_form.url)
    document.comments_form.url.value =
        '<$MTCommentPreviewURL encode_js="1"$>';
if (document.comments_form.text)
    document.comments_form.text.value = 
        '<$MTCommentPreviewBody convert_breaks="0" encode_js="1"$>';
-->
</script>

上記は、Ogawa::Memoranda: Movable Type 3.0DEのバグフィックスで説明しているdefault-templates.zipで修正できます。

このエントリーのトラックバックURL: http://as-is.net/mt/mt-tb.cgi/136

Links referred to this entry

Comments (9)

  1. (お)様(もしくは(o)様かogawa様でよろしいでしょうか)。
    突然のコメントにて、失礼いたします。
    tugaa blogという僻地blogを運営しているtugaaと申します。
    私もMT3.0のβテストに初期から参加しているのですが、
    (お)様の様な知識がなく、大変参考になっております。

    MT3.0DEβj-a以前は、比較的早くバグの対処などがありましたが(直ってない部分も多々ありますが)、
    最近はいくら指摘しても、放置気味なので、
    一度、私のサイトにて、現在のMT3.0DEβj-aのバグについて、
    まとめて書いてみようと思いましたが、バグの指摘を多くなさっていらっしゃる、
    (お)様のコメントの一部を使用してもよろしいでしょうか?

    私のサイトなどではほとんどお役に立てないと思いますが、
    誰かが、これをコピー&ペーストやTBしていただければ、
    少しは役に立つのではないかと、考えたからです。

    ライセンス問題などで、MT離れが進みそうな上、
    現在、MTは3.0しか選択の余地が無く、
    MT3.0DEβもバグが多く、その多くが、現在は未解決のままなので、
    これから新規にMTを使用する方等のお役に立てればと思い、
    コメントさせていただきました。

    もし、不可の場合は、無視していただいて結構ですし、また、
    ご許可いただけるなら、このコメントにレスなど付けていただけると、
    僥倖です。

    御一考のほどよろしくお願いいたします。長文にて失礼いたしました。

  2. tugaaさま:
    ベータテストサイトでのコメントは自由に引用してくださって構いませんよ。

    私の方でも http://hassaku.main.jp/blog/archives/000863.html に自分なりに解決策をまとめています。今のところ反応は捗々しくないですけどね。

  3. (お)様ご許可頂きありがとうございます。

    Movable Type 3.0 DE release+個人的修正は、
    私としては、非常に有益な情報だと思っております。
    個人的にはかなり、勉強になり有益な情報でした。
    公式サイトが(ほぼ)停止したままの現在、このように、
    個人で解決方法を発見し、発表しているサイトが少ない現在、
    非常に重要だと感じております。

    このままだと、正式リリースは7月くらいになってしまうのですかね?

    それでは、重ね重ねありがとうございます。失礼いたします。

  4. このエントリー通りに変更したのですが
    コメント本文は消えませんが
    名前など他の情報は消えてしまいますね
    それも消えないようにするには
    どのように書けばいいのでしょうか
    助言を願いします

  5. こちらでより包括的な解決方法を示しております。
    http://hassaku.main.jp/blog/archives/000863.html

  6. (o)さま、大変お世話になっております。

    教えていただきました下記のサイトを参考にさせていただきました。http://hassaku.main.jp/blog/archives/000863.html
    テンプレートをすべてこちらにあわせて置き換えたのですが、その時点ではじめて日本語でなくなってしまったことに気付いて、元に戻して、少しずつ見直しているところです。

    コメントの内容以外のauthor,email,urlをcookieから取得されている部分ですが、RememberMeにYesが指定された場合は引き継がれるのですが、Noが指定された場合にはクッキーにセットされないので値が引き継がれなくなっているような気がします。
    「クッキーとしては記録したくはないけれど、プレビュー画面への引継ぎはして欲しい...」という場合もあると思うのですが。

    #あぁ、ここまで書いて、ちょこっと後悔しつつも...Postボタンを押しますね。大変お世話になっているのに、こんなこと書いてすみません。

  7. 日本語版のテンプレートも追加しておきました。

    「クッキーとしては記録したくはないけれど、プレビュー画面への引継ぎはして欲しい...」

    なるほど、尤もな話ですね。検討したいと思います。

  8. Remember Me?がNOだとダメなのか

    検討のほうよろしくお願いします

  9. はい。早速更新版を以下に用意しました。
    http://hassaku.main.jp/blog/archives/000871.html

    MTCommentFieldsの意味が変更になる場合も考慮して、comments.js内のfillCommentFieldsメソッドに分離してあります。

    自分でもあまりテストしていないのですが。。。

Post a comment

Remember me?