プロが教えるわが家の防犯対策術!

MovableType(バージョン4.1)のブログをやっていて、
投稿記事に対して、閲覧者がコメントを書くためにコメントのリンクをクリックすると、
通常(ブログ設定当初)は別ウィンドウが立ち上がりそこでコメント投稿してもらっていました。

今日気づいたのですが、そのコメントのリンクをクリックすると
別ウィンドウが立ち上がり
「エラーが発生しました。 不正な要求です。」としてエラーになってしまうのです。

自分で自分の記事にコメントすることがなかったので
いつからエラーになってしまったのか分からないのですが
原因と解決策を探しています。
お分かりになる方がいらっしゃいましたら、教えていただけると大変助かります。

A 回答 (5件)

あ、#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');
}
これも取ってください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/26 17:45

多分、それはCAPTCHA認証のエラーだと思います。


CAPTCHA認証を使わないのなら、設定を解除する必要があるのでは。

私がテストしている環境にはImage::Magickが入っていないのでちょっと確認できないのですが、

「設定」-「ブログの設定」-「コメント」で「表示オプション」
「CAPTCHA プロバイダ」プルダウンメニューで「Movable Type 既定を選択」になってませんか?
これを、「なし」にして、「コメントの確認ページ」のチェックを外す
と治るかもしれません。
http://www.movabletype.jp/documentation/cfg_comm …

#2で書いた、コメント関連テンプレートの差分(3と4で違う)のが原因なんじゃないかなと。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/06/27 00:01

#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-02 …
    • good
    • 0

私は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-02 …
こちらを参考にしてみて下さい。

これで治ったらいいんですが。
これでできなければ、テンプレート全部4.1のに初期化した方が早いかもしれません・・・
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/05/23 12:09

実際見ることができないですし、これだけの情報では原因はわかりません。



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

再インストールの際はバックアップをお忘れなく。
    • good
    • 0
この回答へのお礼

>Muller3さん

ご返答ありがとうございます。
教えていただいた感じでMTのシステムを再インストールしてみました。
しかし、コメントのポップアップは同様のエラー画面となってしまいました。
バージョンを3.xに戻してみても、すでにその当時からエラーになっていたようです。。。

コメントが正常に投稿できれば、ポップアップでなくても構わないのですが
元に戻すことからできなくなってしまっているので困っています。。。
ちなみにサイトは ttp://www.25hours.jpです。

お礼日時:2008/05/21 23:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!