Movable Type 4.1 でコメント投稿者情報が保存されない不具合について
Category:[トラブルシューティング]
Tag:[MovableType, Template, TroubleShooting]
Movable Type 4.1 のデフォルトテンプレート・および配布テンプレートで、コメント投稿者情報が保存されない問題が発生しています。
配布テンプレートご利用の皆様にはご迷惑をおかけして申し訳ございません。
以下、問題・原因・対処方法を記します。
1.問題
コメント投稿時に「ログイン情報を記憶」をチェックしてコメントを投稿しても、投稿者情報が保存されない(JavaScript エラーが発生)。
2.原因
Movable Type 4.1 の JavaScript(mt.js)を、正常に動作していた 4.0x の同ファイルと比較したところ、次の差分がありました。
4.0
function setCookie (name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) + (expires ? "; expires=" + expires : "") +
(path ? "; path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "secure" : "");
document.cookie = curCookie;
}
4.1
function setCookie (name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) + (expires ? "; expires=" + expires.toGMTString() : "") +
(path ? "; path=" + path : "") + (domain ? "; domain=" + domain : "") + (secure ? "secure" : "");
document.cookie = curCookie;
}
ということで、expires.toGMTString() が影響しているようです。
toGMTString() は、グリニッジ標準時を文字列に変換したものを返すものですが、この処理は setCookie を呼び出す前に行っています(青色部分)。
function rememberMe (f) {
var now = new Date();
fixDate(now);
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
now = now.toGMTString();
if (f.author != undefined)
setCookie('mtcmtauth', f.author.value, now, '/', '', '');
if (f.email != undefined)
setCookie('mtcmtmail', f.email.value, now, '/', '', '');
if (f.url != undefined)
setCookie('mtcmthome', f.url.value, now, '/', '', '');
}
3.対処
上に示した 4.0 のソースコードを参考にして、expires.toGMTString() の .toGMTString() を削除して、保存・再構築してください。
配布テンプレートは修正済です(template_4_1_utf8_1_1)。
- Movable Type 4 でテンプレート編集画面の内容が途中から消失する問題の対処
- Windows XP のローカルサーバ環境(ジャンクション利用)への Movable Type 4.1 のインストールで「mt-staticがみつかりません」という警告が表示される場合の対処
- Movable Type でサブドメインを利用する場合の設定
- 「月別アーカイブリスト」が月別アーカイブで正常に表示されない不具合について
- Movable Type 4.0x でブログ記事へのリンクが post.html になる/ブログ記事のプレビューができない不具合について
- テンプレートの再構築で「モジュールというテンプレートが見つかりませんでした」というエラーになる場合の対処
- Movable Type 4 の管理画面で詳細メッセージのないエラーが発生する不具合について
- Movable Type 4 のデフォルトテンプレートで @import が表示される問題
- 検索結果のページ分割(3.3x 版)
- Movable Type でコメント投稿・トラックバックが重くなる事象を解消する
- HTTP/1.1 の「条件付きGET」を利用して PHP ファイルアクセスによるサーバ負荷を削減する
- MTEntries タグの lastn 属性と sort_order 属性(ascend)の同時指定が有効にならない件について
- Movable Type 3.x デフォルト・テンプレートのAtomフィードの不具合について
- Movable Type 3.3 で TypeKey サイン・イン時の JavaScript エラーを解消する
- カテゴリーリストで MTArchiveListHeader と MTArchiveListFooter が正常に動作しない問題
- Movable Type 3.2 と 3.31 におけるサブカテゴリーリストの表示の違いについて
- Movable Type 3.3 の再構築で「<MTTagName>タグが閉じられていません」になる問題の対処(改)
- Movable Type の検索でエラーになる問題について
- コメント・プレビューで実体参照が無効になる不具合を解消する
≫ MT4.1にバージョンアップ from ストレンジャー
このブログともうひとつをMovable Type 4のバージョン4.01から4.... [続きを読む]
MT4.1でブログの複製をしたら、テンプレートが何もない状態、
記事も、1つだけ残った状態で複製されるのですが、
MT4.1では、これが正常なのでしょうか?(エラー表示は出ません。)
私が現在やりたいのは、MT4.1で管理している
全てのブログの、設定の共通化です。
なので、BlogSkeletonClonerプラグインでできていたような、
テンプレートや設定のみの丸ごとコピーが必要なのですが、、、。
解決策がありましたら教えていただけると幸いです。
よろしくお願いします。
早速の対応、ありがとうございました。
ご指示通り、対処しましたら できました。
ありがとうございました。
初歩的なことで恐縮ですが、初心者なのでお許しください。
Movable Type 3.35を使用していますが、日本語ドメインに対応させるために、ブラウザをIE6??から、IE7に変更した途端に、エントリーの位置がおかしくなってしまいました。どのようにしたら、元通りに復帰しますか?ご教授ください。
>ゆうさん
こんばんは。
ご質問の件ですが、明らかに動作異常に思われます。
また残念ながら当方では原因不明です。
お役に立てず申し訳ありません。
>chi-さん
こんばんは。
ご連絡ありがとうございました。
無事に直ったようでよかったです。
ではでは!
>satopaさん
こんばんは。
ご質問の件ですが、「エントリーの位置がおかしく」とは、具体的にどのような状態でしょうか?
ブラウザのバージョンアップで問題が発生したのであれば、一度IE6に戻してみるという手もあります。
いずれにしても、問題の内容がよく理解できておらず申し訳ありません。

