(続)Net::MovableTypeで投稿したエントリのTaggingについて【解決】(+はてなスター)


先ほど、Net::MovableTypeでエントリをアップするとタグが登録されない問題について、
色々と試行錯誤した模様をお届けしたんですが。

Net::MovableTypeで投稿したエントリのTaggingについて – NOBODY:PLACE – MUTTER

Ogawaさんからブクマ経由で素早くコメントをいただきました。

http://code.as-is.net/public/wiki/KeywordsAsTags_Plugin.ja_JP を使うといいよ。mt_keywordsにタグ情報をセットしてポストすればエントリータグとして保存した上で再構築してくれる。


あああ!

Tracで見かけた記憶はあるんですが、まぁ関係ないしなー(当時3.21)と思って、
そのまま忘れてました。
このコメントいただいても、5秒くらい、
『いや、でも再構築のタイミングが…』とか思ってたんですけど、
いやいやいや、投稿のタイミングで動作するんだから、関係ない。


…というわけで、さくっと導入してみたところ、あっさり問題は解決しました(苦笑)
さっき晒したコードは何だったのか…

ありがとうございました。


で、導入方法とか言ったって、解凍して出来たフォルダを
pluginsディレクトリに突っ込むだけなので、特に書くことはないわけですが。
せっかくなので、はてなブックマークエントリ用のテンプレートを少しいじってみました。

具体的には、僕のコメントに付けていただいたはてなスターを、
エントリ上でも再現しようということで。


こんな感じになりました。

Hatena::Bookmark::konaze (2008-02-18) – NOBODY:PLACE – MUTTER



改造のポイント

テンプレートの変更自体は取り立てて難しくないので割愛しますが、
ポイントは、ブックマークコメントのURLをどうやって引っ張ってくるか?ということ。
こんな感じのヤツね。

http://b.hatena.ne.jp/konaze/20080219#bookmark-7543155

これは、Atomフィード内にどんな感じで配置されているかというと、
こんな感じ。(太字部分)


HD DVD報道について考える - コデラノブログ 3



2008-02-19T12:47:27+09:00

konaze

tag:hatena.ne.jp,2005:bookmark-konaze-7550582

media
dvd
*資

rel=”alternate”が付加されたlink要素として、entry要素内に配置されてる。
これの取り出し方は…

XML::Atom::Feedのドキュメントと、
こちらを読みつつ、こんな感じのコードを追加してみた。

my @rellink  = grep {$_->rel eq 'alternate'} $entry->link;
my $bookmark_url  = $rellink[0]->href if(@rellink);

これを、適当な名前を付けてテンプレートに渡してやれば、すべて完了。


できたーヽ(´ー`)ノ



しかしあれだな、休みの日くらい休めと言いたい。>俺
まぁ、失敗して困るのは僕だけっていう意味で、自主トレみたいなもんですけどね。


さて引っ越しの契約書にサインするか。