Dec
04

mt4のコメントで情報を記憶が動かないときの対処法

こんなことで悩んでいる人は稀かもしれませんが、mt4をカスタマイズしていくうちに、いつの間にかコメント入力フォームにある「ログイン情報を記憶」がうまく動かなくなってしまった、なんてことがあります。

こいつの仕組みなんですが、技術的なことは僕もよくわかりませんし、特に知る必要もないです。ただ、 mt.js という javascript を利用して投稿者情報を記憶させるものなんだなーと、そのくらいの基本的な知識だけあればおkですね。で、ヘッダを見ると

<script type="text/javascript" src="<$MTLink template="javascript"$>"></script>

こんな記述がありますが、これが「ログイン情報を記憶」を機能させるために javascript を読み込ませるための記述です。MT4を普通に使っていれば、最初から入っているはずですし、javascript もテンプレートとして最初から登録されているハズです。

で、上記の記述がちゃんとあるにも関わらず、この機能がうまく動かなくなる理由ですが、多くの場合は入力フォーム周りの id 名(属性値)を変更してしまった(もしくは削除してしまった)か、レアなケースとしては body の属性から

<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"</MTIf>

を削除してしまったかのどちらかでしょう(ちなみに、僕は両方とも経験ありで、特に後者の問題に直面したときは相当悩みました)。要するに、(僕を含め)素人は怪しげな場所にはさわらない方が吉ということです。

で、前述のとおりほとんどの原因は onload は問題なく、id 周りです。実は、mt.js は特定の id 属性値を参照して動作する仕組みなんです。なので、フォーム周りをカスタマイズする際にうっかり id を変更してしまうと動作しなくなってしまうんですね。具体的にどの属性値が参照されているかというと、

  • comment-form-name
  • comment-form-email
  • comments-open-data
  • comments-open-text
  • comments-open-footer

小粋空間さんによるとこの5つだそうです。なんとなく comment-form-url も怪しいと思うんですけどね。なので、これらをうっかり変更したり削除してしまうといくら頑張っても「ログイン情報を記憶」は動作してくれません。いくら頑張ってもっていうのは mt.js に変更を加えないことが前提ですが。

ということで、もしこの機能が動かなくなって困っている人がおりましたら(つーか、昨日までの僕ですが)、これらの点を一度確認してみてください。やっぱりコメント周りは親切にしておくべきだと思いますから。

Trackback

http://musicmaniacs.net/mt/mt-tb.cgi/117

Comment

上海翻译公司
August 13, 2008

ログイン情報を記憶

MT4 
あわせて読みたい