• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MovableTypeのコメントがエラーになる)

MovableTypeのコメントエラー!原因と解決策をまとめます

このQ&Aのポイント
  • MovableType(バージョン4.1)のブログでコメントのリンクをクリックすると、エラーが発生し、コメント投稿ができません。
  • 自分自身の記事にコメントする機会がなかったため、いつからエラーになっているか分からない状況です。
  • このエラーの原因と解決策を探しています。ご存知の方がいらっしゃいましたら教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • Muller3
  • ベストアンサー率81% (800/979)
回答No.4

あ、#3に余計な記述が入っていたんですね(^^; ソース見ると <a href="<a href="http://***.html#comments"> Comments(0) </a> になってて、a要素がかぶってます。 テンプレート <a href="<a href="<$MTEntryPermalink archive_type="Individual"$>#comments"> こうなっちゃってませんか? 先頭の<a href="を取ってみてください。 これで多分いけると思うのですが。 あと、METAの中にある <script language="javascript" type="text/javascript"> function OpenComments (c) { window.open(c, 'comments', 'width=480,height=480,scrollbars=yes,status=yes'); } これも取ってください。

eanak---
質問者

お礼

ご連絡ありがとうございました。 修正したところ、別ウィンドウではなくページ遷移してコメント入力フォームが表示されました。 しかし、コメントをテスト送信してみたところ 「コメント投稿エラー」 「入力された文字列が正しくありません。」 が表示されてしまいました。 ※これはまた別の質問として挙げたほうがいいのでしょうか?

その他の回答 (4)

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.5

多分、それはCAPTCHA認証のエラーだと思います。 CAPTCHA認証を使わないのなら、設定を解除する必要があるのでは。 私がテストしている環境にはImage::Magickが入っていないのでちょっと確認できないのですが、 「設定」-「ブログの設定」-「コメント」で「表示オプション」 「CAPTCHA プロバイダ」プルダウンメニューで「Movable Type 既定を選択」になってませんか? これを、「なし」にして、「コメントの確認ページ」のチェックを外す と治るかもしれません。 http://www.movabletype.jp/documentation/cfg_comments.html #2で書いた、コメント関連テンプレートの差分(3と4で違う)のが原因なんじゃないかなと。

eanak---
質問者

お礼

お礼が遅くなりすみません。。。 いろいろ試したのですが、うまくいかず 現状のサイトを修正することよりも新しいサイトをつくることにしました。 いろいろ教えていただいて本当にありがとうございます。

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.3

#2で長々と書きましたが、エントリアーカイブの方は投稿フォームが出ているのでしたら、メインページなどにある「コメント」のリンクをエントリーアーカイブへのパーマリンクに変えればいいだけですね(^^; 多分、 <$MTCGIPath$><$MTCommentScript$>?entry_id=<$MTEntryID$>" onclick="OpenComments(this.href); return false"> となっているのを、 <a href="<$MTEntryPermalink archive_type="Individual"$>#comments"> にすればいいのではないかと。 「ポップアップ画面を用いたコメント投稿」 http://www.koikikukan.com/archives/2004/12/26-021055.php

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.2

私は4.1にアップグレードする際、テンプレートを初期化してしまったので覚えてないのですが、4.1のシステムテンプレートには、「コメント一覧」というテンプレートが3.35から引き継がれていますか? このあたりがあやしいかもと思ったのですが・・・。 バージョン3系に戻してもだめでしたか。 試しに同じポップアップのカスタマイズをやってみましたが、私が使っている3.35上では問題なくできました(4にアップグレードしたデータベースを使って3系に戻したのではないですよね?3に戻すときは、あらかじめ3をバックアップしてあったものを使われましたよね?) ポップアップでなくても構わない、ということなら、ポップアップのカスタマイズを元に戻す作業をしてみます。 エントリーアーカイブ(ってありますよね?)の<MTEntryIfCommentsOpen>から</MTEntryIfCommentsOpen>を、以下に置き換えてみてください。 <MTEntryIfCommentsOpen> <form method="post" action="<$MTCGIPath$><$MTCommentScript$>" name="comments_form" onsubmit="if (this.bakecookie.checked) rememberMe(this)"> <input type="hidden" name="static" value="1" /> <input type="hidden" name="entry_id" value="<$MTEntryID$>" /> <div class="comments-open" id="comments-open"> <h2 class="comments-open-header">コメントを投稿</h2> <div class="comments-open-content"> <script type="text/javascript"> <!-- writeTypeKeyGreeting(commenter_name, <$MTEntryID$>); //--> </script> <MTIfCommentsModerated> <p class="comments-open-moderated"> (いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。) </p> </MTIfCommentsModerated> <div id="comments-open-data"> <div id="name-email"> <p> <label for="comment-author">名前:</label> <input id="comment-author" name="author" size="30" /> </p> <p> <label for="comment-email">メールアドレス:</label> <input id="comment-email" name="email" size="30" /> </p> </div> <p> <label for="comment-url">URL:</label> <input id="comment-url" name="url" size="30" /> </p> <p> <label for="comment-bake-cookie"><input type="checkbox" id="comment-bake-cookie" name="bakecookie" onclick="if (!this.checked) forgetMe(document.comments_form)" value="1" /> この情報を登録しますか?</label> </p> </div> <p id="comments-open-text"> <label for="comment-text">コメント: <MTIfAllowCommentHTML>(スタイル用のHTMLタグが使えます)</MTIfAllowCommentHTML></label> <textarea id="comment-text" name="text" rows="15" cols="50"></textarea> </p> <div id="comments-open-footer" class="comments-open-footer"> <input type="submit" accesskey="v" name="preview" id="comment-preview" value="確認" /> <input type="submit" accesskey="s" name="post" id="comment-post" value="投稿" /> </div> </div> </div> </form> </MTEntryIfCommentsOpen> 以上は3.35デフォルトです。 他に、ポップアップさせるためのJavascriptをテンプレートのどこかに書き足しているはずですので、それも削除します。 もし何かおかしいことがあったら、 「Movable Type 3 から Movable 4 へのアップグレード(コメント関連テンプレート差分)」 http://www.koikikukan.com/archives/2007/08/10-023309.php こちらを参考にしてみて下さい。 これで治ったらいいんですが。 これでできなければ、テンプレート全部4.1のに初期化した方が早いかもしれません・・・

eanak---
質問者

お礼

詳しく書いていただいてありがとうございます。 自分なりにやってみたのですが、苦戦しています。。。 テンプレートを全部4.1に初期化して、 今のデザインに作り変える余裕がちょっとないのでもうちょっと試してみます。

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.1

実際見ることができないですし、これだけの情報では原因はわかりません。 とりあえず、MTのシステムを再インストールしてみることをお勧めします。これで大概治ると思うのですが。 システムをアップする際は、一気に転送せず、フォルダ一つ一つ、エラーが起こっていないか確認しながら丁寧に行ってください。 ファイルが多いので、密かに転送に失敗していることが多いです。 再インストールの際はバックアップをお忘れなく。

eanak---
質問者

お礼

>Muller3さん ご返答ありがとうございます。 教えていただいた感じでMTのシステムを再インストールしてみました。 しかし、コメントのポップアップは同様のエラー画面となってしまいました。 バージョンを3.xに戻してみても、すでにその当時からエラーになっていたようです。。。 コメントが正常に投稿できれば、ポップアップでなくても構わないのですが 元に戻すことからできなくなってしまっているので困っています。。。 ちなみにサイトは ttp://www.25hours.jpです。

関連するQ&A