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

先ほど、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をどうやって引っ張ってくるか?ということ。
こんな感じのヤツね。
これは、Atomフィード内にどんな感じで配置されているかというと、
こんな感じ。(太字部分)
rel="alternate"が付加されたlink要素として、entry要素内に配置されてる。
これの取り出し方は…
XML::Atom::Feedのドキュメントと、
こちらを読みつつ、こんな感じのコードを追加してみた。
これを、適当な名前を付けてテンプレートに渡してやれば、すべて完了。
できたーヽ(´ー`)ノ
しかしあれだな、休みの日くらい休めと言いたい。>俺
まぁ、失敗して困るのは僕だけっていう意味で、自主トレみたいなもんですけどね。
さて引っ越しの契約書にサインするか。
pluginsディレクトリに突っ込むだけなので、特に書くことはないわけですが。
せっかくなので、はてなブックマークエントリ用のテンプレートを少しいじってみました。
具体的には、僕のコメントに付けていただいたはてなスターを、
エントリ上でも再現しようということで。
こんな感じになりました。
Hatena::Bookmark::konaze(2008-02-18) - NOBODY:PLACE - MUTTER
改造のポイント
テンプレートの変更自体は取り立てて難しくないので割愛しますが、ポイントは、ブックマークコメントのURLをどうやって引っ張ってくるか?ということ。
こんな感じのヤツね。
http://b.hatena.ne.jp/konaze/20080219#bookmark-7543155
これは、Atomフィード内にどんな感じで配置されているかというと、
こんな感じ。(太字部分)
<entry>
<title>HD DVD報道について考える - コデラノブログ 3</title>
<link rel="related" type="text/html" href="http://blogmag.ascii.jp/kodera/2008/02/18224858.html" />
<link rel="alternate" type="text/html" href="http://b.hatena.ne.jp/konaze/20080219#bookmark-7550582" />
<link rel="service.edit" type="application/x.atom+xml" href="http://b.hatena.ne.jp/atom/edit/7550582" title="HD DVD報道について考える - コデラノブログ 3" />
<issued>2008-02-19T12:47:27+09:00</issued>
<author>
<name>konaze</name>
</author>
<id>tag:hatena.ne.jp,2005:bookmark-konaze-7550582</id>
<summary type="text/plain"></summary>
<dc:subject>media</dc:subject>
<dc:subject>dvd</dc:subject>
<dc:subject>*資</dc:subject>
</entry>
rel="alternate"が付加されたlink要素として、entry要素内に配置されてる。
これの取り出し方は…
XML::Atom::Feedのドキュメントと、
こちらを読みつつ、こんな感じのコードを追加してみた。
my @rellink = grep {$_->rel eq 'alternate'} $entry->link;
my $bookmark_url = $rellink[0]->href if(@rellink);
これを、適当な名前を付けてテンプレートに渡してやれば、すべて完了。
できたーヽ(´ー`)ノ
しかしあれだな、休みの日くらい休めと言いたい。>俺
まぁ、失敗して困るのは僕だけっていう意味で、自主トレみたいなもんですけどね。
さて引っ越しの契約書にサインするか。




