お知らせ

作って覚えるPHP+MySQLアプリケーション 2008年6月24日

作って覚えるPHP+MySQLアプリケーション」が発売されました。
PHP+MySQL+Smartyを使って、ブログ/ショッピングサイト/マッシュアップの3つのWebアプリケーションを作る方法を解説しています。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

コメント投稿者のBlogを別窓で開くプラグイン

| コメント(9) | トラックバック(9)

MyBlogListのBlogを巡回していたときに、さえらさんのBlogで「コメント投稿者リンクを別窓で開くようにする」というエントリーを見かけました。

Movable Type 3.1xまででは、コメント一覧で投稿者の名前をクリックした時には、投稿者のBlogが別ウィンドウで開くようになっていました。
しかし、3.2では同一ウィンドウで開くように変わっています。

さえらさんのBlogでは、lib/MT/Template/ContextHandler.pmのソースコードを書き換える方法が紹介されていました。
しかし、ソースコードを書き換えると、Movable Typeをバージョンアップするたびに書き換えが必要になり不便です。
そこで、同様のことをプラグインでできるようにしてみました。

1.インストール

まず、以下のページに接続して、表示されたソースをすべてコピーしてメモ帳等に貼り付け、「addtarget.pl」というファイル名で保存します。

addtarget.pl

そして、保存したファイルを、Movable Typeの「plugins」ディレクトリにアップロードします。

2.テンプレートの書き換え

コメント元Blogへのリンクは、「MTCommentAuthorLink」というタグで出力されます。
このタグに、「add_target="1"」のアトリビュートを追加すると、リンクのaタグに「target="_blank"」が追加され、コメント元Blogが別ウィンドウで開くようになります。

例えば、MT標準のテンプレートだと、このタグは以下のようになっています。

<$MTCommentAuthorLink default_name="Anonymous"$>

この場合だと、以下のように書き換えます。

<$MTCommentAuthorLink default_name="Anonymous" add_target="1"$>

3.TypeKeyのプロフィールページを別ウィンドウで表示する

TypeKeyでログインしてコメントされた場合、そのコメントにはTypeKeyのアイコンが表示され、それをクリックするとコメント投稿者のTypeKeyのプロフィールページが表示されます。
このページも標準では同一ウィンドウで表示されますが、別ウィンドウで開くようにすることができます。

TypeKeyのアイコンやリンクなどは「MTCommentAuthorIdentity」というタグで表示されます。
このタグでも、「add_target="1"」のアトリビュートを使うことができます。

4.余談

リンク(aタグ)のtargetの指定は、XHTML 1.0 Strict以降では廃止されることになっています。
MTCommentAuthorLinkタグでtargetを出力しなくなったのは、この廃止を意識したものではないかと思われます。

トラックバック(9)

トラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/358.

3.2にアップグレードしてから、コメントをくださったかたのお名前をクリックすると... 続きを読む

Movable Type 3.2からの改悪である、コメント投稿者のブログを別窓で... 続きを読む

コメントをいただいた投稿者のお名前をクリックした時に, 投稿者のBlogが別ウィ... 続きを読む

カスタマイズ続いてます。。。 リンク属性にtarget="_blank"をつける... 続きを読む

コメントをしてくれた方がHPアドレスを入力した時、 名前からHPへのリンクが張ら... 続きを読む

コメントを投稿する際、URL欄にHPやブログのアドレスを入力すると、名前にリンク... 続きを読む

 半年ぶりにMovable Typeに戻しましたが、いろいろ忘れたことがあってと... 続きを読む

ムーバブルタイプ(MT)のコメント投稿者URLを別窓で開くプラグイン 続きを読む

笑むなAikoの『お玉杓子は飲み物です』 - 進め!MovableType4 (リンクを別窓で) (2008年3月 4日 13:59)

デフォルトではMovableTypeがURLをクリックしても別窓では開かない!。 そこで何とか開くように、いじってみました。 続きを読む

コメント(スレッド9件,コメント9件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 さえら : (無題)

こんにちは~。プラグインでできちゃうんですね。
うちもプラグイン使用に変えようと思います。

No.2 dotabatapapa Author Profile Page: (無題)

このページを参考にさせていただき,
カスタマイズしました。
大変助かりました。
今後ともよろしくお願いします。

No.3 Fear ウルフ : (無題)

初めまして、Fear ウルフと申します。
現在Movable Typeでblogを作成して、こちらのサイトを参考にさせて頂いています。

いきなりで申し訳ないですが、質問させて下さい。
このプラグインを入れてみて動かしてみたのですが、コメント主をクリックしても参照先のページが別窓で開きませんでした。
(ソースにはtargetが追加されていない状態でした)

プラグインは、pluginsフォルダにアップロードし、Movable Typeのシステムメニューにあるプラグイン情報では認識しております。
それからテンプレート→システム→コメント・プレビュー内のMTCommentAuthorLinkにadd_target部分を追記して再構築してからコメントを発しましたが、やはりダメでした。

お忙しいかと思いますが、どうかご指摘頂けないでしょうか。お願い致します。
こちらのblog上では動作しているので、どこか私が勘違いしているのだと思うのですが・・・。

なお、Movable Typeは3.2ja2で、sqliteで動作させています。
テンプレートは小粋空間さんのを利用しております。

No.4  : (無題)

>Fear ウルフさん
こんにちは。

ご質問の件ですが、申し訳ありませんが原因は不明です。
以下のさえらさんのエントリーを参照いただいて、lib/MT/Template/ContextHandler.pmを書き換える方法を試してみてください。

http://caetla.oops.jp/blog2/archives/2005/11/19_1045.php

No.5 Fear ウルフ : (無題)

☆壱さん
お返事ありがとうございます。

>ご質問の件ですが、申し訳ありませんが原因は不明です。
そうですか不明ですか・・・。
ということはやり方自体は有っているって事ですよねぇ。
もう一度やってみて、それでもダメだったら、ご紹介されているさえらさんのエントリーを参考にしてみます。

どうもありがとうございました。m(_ _)m

No.6 Fear ウルフ : (無題)

コメントプラグインの件ですが、無事に動作できました。

どうやら、エントリー・アーカイブに対しての設定をし忘れていたようでして、こちらの設定ミスでした。

ご迷惑をおかけしてしまい、申し訳ございませんでした。


今後もカスタマイズなどで参考にさせて頂きますので、がんばって下さい。

No.7  : (無題)

>Fear ウルフさん
こんにちは。

無事動作したとのことで良かったです。

No.8 hikari Author Profile Page: (無題)

壱さんのおかげで簡単にカスタマイズが出来ました。
いつもお世話になりっぱなしで、本当にありがとうございます。

No.9 ゆう : (無題)

いつもながら今回も参考にさせてもらいました。
カスタマイズ方法も簡単なので良かったです。

記事も書いたのでトラバを・・・と思ったのですが、エラー表示がでてしまいました。
重複して送信していますかね?

コメントする