webmaster 様
いつもお世話になっております。
日記プログラムに投稿された画像(サムネイル)をRSSに反映させることは可能ですか?
宜しくお願いします。
RSSにサムネイル画像を表示させたい
Re: RSSにサムネイル画像を表示させたい
mokujin14さん、ご質問ありがとうございます。
回答が遅れまして申し訳ありません。
RSSに画像を含める方法にはいろいろありますが、オーソドックスな方法は
item要素のdescriptionをCDATAセクションにして、その中にHTMLを直接
書き込む方法です。
例えば、スキーマに"description1"というtextarea項目があり、そこには
HTMLを直接書き込んでいて、imgタグなどもそこに書き込まれているという
場合には、rss用のデザイン定義で次のようにします。
となっている箇所を、
のようにすればOKです。肝は、descriptionの中を、
と、
で囲み、中のxsl:value-of には disable-output-escaping="yes" を指定する
という手順になります。
もし、description1項目がHTMLではなく、画像ファイルがあればそれを自動的
にRSSに埋め込みたい、という場合には、上記と同様の手順で、description要素の
中にimgタグを直接記述して下さい。
img要素をdiv要素で囲ったのは、見栄えの為です。不要な場合には消して
下さい。
回答が遅れまして申し訳ありません。
RSSに画像を含める方法にはいろいろありますが、オーソドックスな方法は
item要素のdescriptionをCDATAセクションにして、その中にHTMLを直接
書き込む方法です。
例えば、スキーマに"description1"というtextarea項目があり、そこには
HTMLを直接書き込んでいて、imgタグなどもそこに書き込まれているという
場合には、rss用のデザイン定義で次のようにします。
コード: 全て選択
<item rdf:about="{$entryphp}{@href}">
<title><xsl:value-of select="title" /></title>
<link><xsl:value-of select="concat($entryphp,@href)" /></link>
<description><xsl:value-of select="description1" /></description>
コード: 全て選択
<item rdf:about="{$entryphp}{@href}">
<title><xsl:value-of select="title" /></title>
<link><xsl:value-of select="concat($entryphp,@href)" /></link>
<description><xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<xsl:value-of select="description1" disable-output-escaping="yes" />
<xsl:text disable-output-escaping="yes">]]></xsl:text></description>
コード: 全て選択
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
コード: 全て選択
<xsl:text disable-output-escaping="yes">]]></xsl:text>
という手順になります。
もし、description1項目がHTMLではなく、画像ファイルがあればそれを自動的
にRSSに埋め込みたい、という場合には、上記と同様の手順で、description要素の
中にimgタグを直接記述して下さい。
コード: 全て選択
<item rdf:about="{$entryphp}{@href}">
<title><xsl:value-of select="title" /></title>
<link><xsl:value-of select="concat($entryphp,@href)" /></link>
<description><xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<div><img src="{image1}" /></div>
<xsl:value-of select="description1" disable-output-escaping="yes" />
<xsl:text disable-output-escaping="yes">]]></xsl:text></description>
下さい。
表示できました
webmaster 様
いつもありがとうございます。
教えていただいたCodeで画像の表示ができました。
以下、私が記述したCodeです。
有り難うございました。
いつもありがとうございます。
教えていただいたCodeで画像の表示ができました。
以下、私が記述したCodeです。
コード: 全て選択
<description>
<!--画像が投稿された時の処理-->
<xsl:if test="photo1/text()">
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<div><img src="{photo1}&w=150&h=150" /></div>
<xsl:value-of select="description1" disable-output-escaping="yes" />
<xsl:text disable-output-escaping="yes">]]></xsl:text>
<xsl:value-of select="body" />
</xsl:if>
<!--画像がない時の処理-->
<xsl:if test="photo1=''">
<xsl:value-of select="body" />
</xsl:if>
</description>
Re: 表示できました
mokujin14さん、ご報告ありがとうございます。
うまく表示されたとのことで安心しました。
Codeについてですが、description1というのはサンプル上での仮のものです
ので、今回mokujin14さんの使われている"body"という項目名に合わせて、
の方がよりうまく動作するかもしれません。
お時間のある時にでも、一度お試し頂ければ幸いです。
うまく表示されたとのことで安心しました。
Codeについてですが、description1というのはサンプル上での仮のものです
ので、今回mokujin14さんの使われている"body"という項目名に合わせて、
コード: 全て選択
<description>
<!--画像が投稿された時の処理-->
<xsl:if test="photo1/text()">
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<div><img src="{photo1}&w=150&h=150" /></div>
<xsl:value-of select="body" disable-output-escaping="yes" />
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</xsl:if>
<!--画像がない時の処理-->
<xsl:if test="photo1=''">
<xsl:value-of select="body" />
</xsl:if>
</description>
お時間のある時にでも、一度お試し頂ければ幸いです。