特定カテゴリのみのrss.xml
サイト全てではなく、特定のひとつのカテゴリの更新情報を、専用のrss.xmlで出力するサンプルです。
手順1:RSS(カテゴリ専用)テンプレートを作成する
まず、管理ページで、「デザイン」→「テンプレート」と進み、インデックステンプレートページにて「RSS」をクリックして、テンプレートコードをコピーします。
次に「インデックステンプレートを作成」をクリックし、カテゴリ専用のRSSテンプレートを作成します。名前は「RSS(xxxカテゴリ専用)」、出力ファイル名は「rss_xxx.xml」などとします。xxxは任意の文字列です。出力ファイル名には使用文字を半角英数のみとし、日本語や全角カナなどを使用しないでください。
以下コードは、デフォルトのRSSテンプレートを改造した、「Movable Type」というカテゴリ専用のRSSを、atom_mt4.xmlというファイル名で出力する場合のサンプルコードです。
変更箇所は、基本的には「MTEntriesで出力する際のカテゴリ」、「表示ディスクリプション」の2箇所です。
<$MTHTTPContentType type="application/rss+xml"$><?xml version="1.0" encoding="<$MTPublishCharset$>"?>
<rss version="2.0">
<MTSetVar name="TargetCat" value="Movable Type">
<MTSetVarBlock name="CatDescription">(<MTGetVar name="TargetCat">カテゴリ専用)</MTSetVarBlock>
<channel>
<title><$MTBlogName remove_html="1" encode_xml="1"$><MTGetVar name="CatDescription" remove_html="1" encode_xml="1"></title>
<link><$MTBlogURL$></link>
<description><$MTBlogDescription remove_html="1" encode_xml="1"$><MTGetVar name="CatDescription" remove_html="1" encode_xml="1"></description>
<language><$MTBlogLanguage ietf="1"$></language>
<copyright>Copyright <$MTDate format="%Y"$></copyright>
<lastBuildDate><MTEntries category="$TargetCat" lastn="1"><$MTEntryDate format_name="rfc822"$></MTEntries></lastBuildDate>
<generator>http://www.sixapart.com/movabletype/</generator>
<docs>http://www.rssboard.org/rss-specification</docs>
<MTEntries category="$TargetCat" lastn="15">
<item>
<title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
<description><$MTEntryBody encode_xml="1"$></description>
<link><$MTEntryPermalink encode_xml="1"$></link>
<guid><$MTEntryPermalink encode_xml="1"$></guid>
<MTEntryCategories>
<category domain="http://www.sixapart.com/ns/types#category"><$MTCategoryLabel remove_html="1" encode_xml="1" cutfirstchar="3"$></category>
</MTEntryCategories>
<MTEntryIfTagged><MTEntryTags>
<category domain="http://www.sixapart.com/ns/types#tag"><$MTTagName remove_html="1" encode_xml="1"$></category>
</MTEntryTags></MTEntryIfTagged>
<pubDate><$MTEntryDate format_name="rfc822"$></pubDate>
</item>
</MTEntries>
</channel>
</rss>
手順2:ヘッダーへ宣言文を作成する
「デザイン」→「テンプレート」と進み、テンプレートモジュールページにて「ヘッダー」をクリックして、以下のようなコードを書き足します。
以下コードはインデックスページであれば宣言が追加されるようにした例です。MTIfの部分を書き換えて、当該カテゴリページでのみ出力としてもいいでしょう。
<MTIf name="main_index">
<link rel="alternate" type="application/rss+xml" title="RSS" href="<MTBlogURL>rss_mt4.xml" />
</MTIf>
- ページ先頭へ
- 前のエントリ: 特定カテゴリのみのatom.xml
- 次のエントリ: Feed関連テンプレートタグ
- カテゴリ:Feed関連サンプル