« ダメ日。 | TOP | note : 20080613(making photo-log) »

Jun 13 2008

MTのRSS2.0テンプレートに「続きを読む」を表示する

最近RSSフィードのテンプレートを少し改造したのでメモしておきます。

MTのRSSテンプレートは、そのまま使うと、記事を書いたとき「本文」のエリアに書いた部分しか表示されないので、続きの有無によって「この記事には追記があります」とか、MTのトップページに出ているような「続きを読む」が表示されないので、MTIfあたりを使って、エントリに追記があるときだけ「この記事の全文を読む」というリンクが表示されるようにしてみました。

以下手順メモ。

RSS2.0用のテンプレートの記述を修正

MTのテンプレート一覧画面にあるインデックステンプレートの中から「RSS」を選んで編集します。 15行目あたり(MT4.xの場合)に

<description><$MTEntryBody encode_xml="1"$></description>

とあるので、ここに、追記がある場合のタグを書き足します。

MTIfの記述

<description>と</description>の間が本文として配信されるので、MTIfを使って、「追記があったとき、リンク先を表示」のコードを書きます。

<description><$MTEntryBody encode_xml="1"$></description>

の部分を、

<description><$MTEntryBody encode_xml="1"$>
<MTIfNonEmpty tag="EntryMore">
<![CDATA[
<a href="<$MTEntryPermalink$>">この記事の全文を読む</a>
]]>
</MTIfNonEmpty>
</description>

と書き換えます。

追記が無い場合は、MTIfNonEmptyの部分は出力されません。 参考:
MTIfNonEmpty | テンプレートタグリファレンス
MTで条件分岐MTIfNonEmpty:特定タグが空白かどうかチェックし分岐する - WEBデザイン BLOG

上手く行っていれば(いっているはずだ!)、このエントリはRSSリーダー等で読んだ場合、[ この記事の全文を読む ]が表示されているはずです。

Atomの場合

<![CDATA[ と ]]> で囲めば、HTMLタグを書いてもOKなのか? と思ったのですが、ATOMのテンプレートにも同じ方法をやったら、上手く行きませんでした‥‥。
"floatingdays: Atomフィードの本文(?)にHTMLを記述する方法"によると、

summaryに属性typeを入れて、その値にxhtmlまたはhtmlを指定するらしい。

とのことなのだけど、この部分の詳細について、まだ調べ切れてないので、とりあえずRSS2.0の改造方法だけでpostしておきます。

参考:

 

takako13-53-PM

トラックバック

このエントリーのトラックバックURL :

コメント

コメントを表示する前に管理者の承認が必要になることがあります

コメントを入力
情報を記憶しますか?
最近のコメント
最近のトラックバック
作者について
著者近影
name: トミナガタカコ
location: Sapporo, Japan
profile: 札幌でフリーランスのWebデザイナーとして活動中。
Swing Web CreationというWebデザイン事務所っぽいことをやっています。
テクノラティプロフィール
もっと詳しく読む。