« カテゴリ別RSSの生成 | メイン | ジョークを翻訳することの功罪(「イギリス人に学べ!英語のジョーク」読了) »

カテゴリー別RSS生成、方針変更して成功

カテゴリー別RSS生成に関する不具合(What's Newカテゴリーのrdfに他のカテゴリーの情報が混ざる)は解消できなかった。そこで、@smate.NETさんのカテゴリ別 RSS 作成を参考にやり直してみた。#Blogさんのやり方は、インデックスファイルとして.rdfを生成する方法だったが、こうすると、カテゴリーごとに「○○カテゴリーのRSS Indexファイル」を作ってやる必要がある。また、<$MTCategories category="○○" lastn="1"$>と指定してやっても、そのカテゴリーに、複数カテゴリーにまたがるエントリーがあると、別カテゴリーの情報がrdfファイルに紛れ込んでくることになる(Movablet Typeのバグなのだろうか?少なくとも能書きどおりの動きではないように思える)。このやり方は「複数カテゴリーをもつエントリーはない」かつ、「特定のカテゴリーについてのみRSSフィードを行いたい」場合に良い方法、と考えるべきだろう。
さて、@smate.NETさんのやりかたであるが、category archive templateを追加して、category archiveのヴァリエーションとしてrdfファイルを生成する、というもの。
> Template の中身は、先程コピーした RSS 1.0 Index と同じでよいので、ペーストして、保存(SAVE)します。
とあるが、これだとせっかくカテゴリー別につくったrdfファイルがすべて同じtitleやdescriptionを持つことになるため、channel/title,link,descriptionのあたりで以下の様に工夫している。
修正前

<title><$MTBlogName encode_xml="1"$></title>
<link><$MTBlogURL$></link>
<description><$MTBlogDescription encode_xml="1"$></description>

修正後
<title><$MTBlogName encode_xml="1"$> : <$MTArchiveCategory encode_xml="1"$></title>
<link><$MTBlogArchiveURL$>cat_<$MTArchiveCategory dirify="1">.php</link>
<description><$MTCategoryDescription encode_xml="1"$></description>

なお、linkを<$MTArchiveLink$>にしていないのは何故かというと(やってみていただくとわかるが)<$MTArchiveLink$>だと、category archiveのURLではなく、生成されるカテゴリー別rdfファイルのURLが出力されるためである。

今回、Movable Typeのテンプレートタグについては、「BloggerとMovable Typeではじめる ウェブログ入門」が大変役に立った。Movable Typeの導入時の参考に買った本が、こんなタイミングで役に立つとは思わなかった。<つまり初心者の域を脱していないな。

ウェブログ入門-BloggerとMovable Typeではじめる【CD-ROM付】

(ASIN: 4798104043)
ホリコシ ヒデミ/田口 和裕/sawadaspecial/ばるぼら  ¥ 2,499
翔泳社 / 通常24時間以内に発送

トラックバック

このエントリーのトラックバックURL:
http://manabu.s96.xrea.com/mt4/mt-tb.cgi/359

この一覧は、次のエントリーを参照しています: カテゴリー別RSS生成、方針変更して成功:

» カテゴリー別RSSから最新Entryを各ページに表示 送信元 Quod Scripsi Mutatus
先日カテゴリー別RSS生成に成功したが、それを用いて、Amazon Web Services関連、Webゲーム紹介、自己診断、サイトマップ(メニュー)それぞれのページに、対応するカテゴリーのRSSファイルから最新エントリーを表示するようにした。拍子抜けするくらい簡単だった。...... [詳しくはこちら]

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


アーカイブ

最近のコメント

Powered by
Movable Type 3.34