コメント投稿者へのリンクは、デフォルトではコメント CGI 経由のリダイレクトになっている。リダイレクトの場合、マウスをリンクに重ねてもリンク先は分からないので不便。テンプレートに手を加え、投稿者の URL にダイレクトリンクするように変更する。
対象は Movable Type 2.661 である。
コメント投稿者へのリンクは、デフォルトでは <$MTCommentAuthorLink$> としてコーディングされている。これは、コメント投稿者が自分の電子メールアドレスを入力した場合はメールアドレスへのリンクを、URL を入力した場合はその URL へのリンクを、投稿者の名前につけるタグである。spam_protect="1" という属性をつけると、メールアドレスへのリンクはされなくなり、スパム対策になる(nlog(n): コメントのメールアドレスを非表示に)。
URL が入力されている場合、その URL へリンクされるが、次のような形の mt-comments.cgi 経由のリダイレクトとなる。
ここで、「opentype」は Movable Type の CGI へのパスで、コメントの CGI はスパム対策の一環で名前の変更をしてある(nlog(n): コメントスパム対策)。
URL がリダイレクトなので、コメント投稿者の URL を直接知ることができない。マウスをリンクに重ねたときにリンク先が分かるように、直接リンクにしたい。ちょうど calc さんの 学校では教えてくれない数学 の形式にしたいのである。
Individual Archive Template でのコメント投稿者表示部分は、以下のようになっていた。
上の赤い部分を、<MTIfNonEmpty> タグを使って以下のように書き直す。
これでうまくいくはずであった。しかし、何故か <MTElse> が動作してくれない。MT Extensions: MTElse Fix For Plugins の方法で Builder.pm の書き換えを行った(Fenrir's BLog さんが MTElse問題 で日本語訳してくれている)。この方法は、プラグインで新しく導入したタグでも <MTElse> を動作させるものである。<MTCommentURL> はプラグインではなくビルトインのタグなので、MT 2.661 であれば、本来なら動作すべきであろう (<MTCommentURL> タグはバージョン 2.6 で導入された: mtchanges - Revision history for Movable Type)。
MTpath/lib/MT/Builder.pm の 98 行目以降にコードを追加する。
赤色が追加した部分である。これで思った通りの動作をするようになった。
Posted by n at 2004-07-10 23:55 | Edit | Comments (0) | Trackback(2)
Master Archive Index
Total Entry Count: 1957