コメント投稿者のリンクを別ウィンドウで開く(3.2対応)
またもやタイトルが長いです・・・(;´ρ`)
分かりやすくしようと思うとどうしても長くなってしまいます(´・ω・`)ゴメンネ
もっと分かりやすく書きますと
コメントを投稿してくれた人がHPアドレス入力してくれていたら
投稿者の名前をクリックするとその人のサイトにジャンプします。
MTのデフォルトですと同一ウィンドウにリンク先が開きますが、
これを別ウィンドウで開いてしまう方法。
です。
自分のサイト内なら同一ウィンドウに開いた方がいいと思いますが、
他のサイトを開く時は別ウィンドウにした方が便利かな?と思ってのカスタマイズです。
*3.3以降の方は「コメント投稿者のリンクを別ウィンドウで開く(プラグイン版)」をご覧ください。
参考にさせていただいたサイトはMovableTypeを攻略せよ! さんのエントリー
リンク先を別ウィンドウで開くの真ん中から下の方です。
上の方には、
「エントリ内のリンク先およびコメント内のリンク先を別ウィンドウで開かせる方法。」
が書かれています。必要な方はこちらも参考にしてください。
これをしたら、全てのリンクが別ウィンドウで開くのかな?
私は自サイト内は同一ウィンドウで開きたいので、このカスタマイズはしていません。
*注
3.2-ja-2以前のバージョンの方は、以下の1と2のカスタマイズをしてください。
3.2-ja-2ではこれだと「コメント欄に入力されたURLをtarget指定する場合のみ」に
限定されてしまったようで、投稿者をクリックしても別ウィンドウが開かなくなってしまいました。
3.2での方法は以下の「3・MT3.2-ja-2の場合」を参照してください。
コメント欄に入力されたURLをクリックした場合も別ウィンドウにしたい場合は
1と2もあわせてカスタマイズしてください。
では、今回のカスタマイズの続きです。
Util.pmとmt.cfg(3.2以降はmt-config.cgi)を修正します。
1・Util.pmを修正する
MTのフォルダの libフォルダの中の MTフォルダの中に Util.pmがあります。
これの607行目付近(Version 3.17-jaの場合)にある
(3.2-ja-2の場合は667行目付近)
sub munge_comment {
my($text, $blog) = @_;
unless ($blog->allow_comment_html) {
$text = remove_html($text);
if ($blog->autolink_urls) {
$text =~ s!(https?://\S+)!<a href="$1" target="_blank">$1</a>!g;
}
}
$text;
}
に、赤文字の所を追加します。
2・mt.cfg(3.2以降はmt-config.cgi)を修正する
mt.cgiやindexなどと同じ所にあると思います。
これの358行目付近(Version 3.17-jaの場合)にある
(3.2-ja-2の場合は405行目付近)
# GlobalSanitizeSpec br/,p
を
GlobalSanitizeSpec br/,p,a href,a href target
に修正します。
青文字の所が追加した所です。
先頭の#も忘れないように削除してください。
3・MT3.2-ja-2の場合
3.2以降で投稿者をクリックした時に別ウィンドウで開きたい時はこちらを参照してください。
SnowDropさんのコメント投稿者のリンク先を別窓表示にに方法が書かれています。
感謝感謝です♪
libフォルダの中のMTフォルダの中のTemplateフォルダの中のContextHandlers.pmを変更します。
1789行目あたりにある
if ($c->id && !$args->{no_redirect}) {
return sprintf(qq(<a title="%s" href="%s%s?__mode=red;id=%d">%s</a>),
$url, $cgi_path, $comment_script, $c->id, $name);
} else {
# In the case of preview, show URL directly without a redirect
return sprintf(qq(<a title="%s" href="%s">%s</a>),
$url, $url, $name);
}
に target="_blank"を追加して
if ($c->id && !$args->{no_redirect}) {
return sprintf(qq(<a title="%s" href="%s%s?__mode=red;id=%d" target="_blank">%s</a>),
$url, $cgi_path, $comment_script, $c->id, $name);
} else {
# In the case of preview, show URL directly without a redirect
return sprintf(qq(<a title="%s" href="%s" target="_blank">%s</a>),
$url, $url, $name);
}
にします。
後は保存、アップロードして再構築したらできあがりですヽ(・∀・)ノ





はじめまして
こちらのサイトに掲載されているTipsを参考にカスタマイズを始めました。
昨日5000円相当のカスタマイズ本を買ってきたのですが、こちらを先に見ておけば良かったです^^;
まずは、コメント者をクリックすると、新しいページで表示出来るようにしました^^
コメント時刻: 2005年09月18日 23:47
>sesosotoさん
はじめまして〜[ポッ]
参考にしていただきありがとうございます。
そしてカスタマイズ成功おめでとうございます[!]
このサイトではカスタマイズを網羅できていませんし、
きっとその本は役に立ちますよ〜[♪]
5000円の元は取らないと!ですよ(笑)
コメント時刻: 2005年09月19日 14:12
はじめまして!
『コメント投稿者のリンクを別ウィンドウで開く方法』の内容に関するコメントではないですが、どこにコメントすればいいのか分からなかったので、ここにしてしまいました(>_<)
りぃさんが使っている【お気に入りに追加】のタグがかわいかったので、お借りしたいなぁって思ったんです。
もしりぃさんが作ったタグじゃなくて、他のサイトで配布しているものだったらサイト名を教えていただければ嬉しいです。
コメント時刻: 2005年10月15日 22:04
>Cinderellaさん
はじめまして[ポッ]
「お気に入りに追加」のアイコンですね〜。
これは、『A Trial Product's 素材置き場』さんからお借りしています。
左のメニューの、「Link」→「テンプレート・素材サイト」の
「HP製作支援サイト」の記事からリンクしていますので、そこから飛んでください。
かわいいアイコンがたくさんあるのでオススメです!
どれを使おうか悩んじゃいますよ〜[ハート×2]
*どうしようか悩んでいたのですが、やっぱりこのサイトの
掲示板とか作ったほうがいいかなぁ[?]
コメント時刻: 2005年10月16日 21:35
りぃさん、お返事ありがとうございます☆
さっそく『A Trial Product's 素材置き場』さんにいってきました!
ホントかわいいアイコンがたくさんあって、迷っちゃいますね〜(^-^)
コメント時刻: 2005年10月18日 21:48
>Cinderellaさん
前、この素材やさんのアイコンをとにかく使いたくて
あれもこれもとやっていたら、ページが重くなって
えらいことになってしまいました[うわーん]
私の二の舞にならないように気をつけてくださいね!
コメント時刻: 2005年10月27日 21:23
はじめまして。
3.2にしてから コメント投稿者のリンクをクリックすると
同じ窓に開いてしまうのが気になっていましたが
どのファイルのどこを修正すればいいのか
ぜ~んぜんわからなかったので、そのままにしてました。
すごく助かりました。ありがとうございました。
コメント時刻: 2005年11月19日 10:23
>さえらさん
はじめまして~!
この記事が早速役に立って良かったです♪
今までの方法が使えなくて、私もかなり焦りました(;´ρ`)
もう、しばらくはこんな大きなバージョンアップは
控えて欲しい気持ちでいっぱいです(笑)
コメント時刻: 2005年11月21日 23:18