RSS表示件数について

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
watanabe
記事: 5
登録日時: 2008年8月01日(金) 14:30

RSS表示件数について

投稿記事 by watanabe » 2008年8月01日(金) 14:49

はじめて投稿させて頂きます。
宜しくお願い致します。

今年よりCMSDESIGNERを使用させて頂いております。
大変使いやすく、とても助かっております。

今回は調べても、どうしても分からなかった為
投稿させて頂きました。

RSSの表示件数の件です。

rss吐き出しphpファイル内容

<?php require_once( "cmsdesigner/include/view.php.inc" ); // encoding="euc-jp" ?>
<cmsd:entrylist name="content" design="rss" output="rss" rows="12" pageno="top" />
<?php cmsd_end_template(); ?>


件数を上記のように減らしても増やしても表示数15記事から変わらず、
管理画面の編集記事一覧の古いもの15記事になっているようで
最新の投稿記事が載らず困っております。

ちなみに

rssのデザインテンプレートファイル内容は下記です。


<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet
version="1.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform"
xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:sy = "http://purl.org/rss/1.0/modules/syndication/"
xmlns:dc = "http://purl.org/dc/elements/1.1/"
xmlns:xh = "http://www.w3.org/1999/xhtml"
xmlns = "http://purl.org/rss/1.0/" >

<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" indent="no" />

<xsl:variable name="baseUrl" select="'http://kanto.pokanavi.jp/'" />
<xsl:variable name="index" select="concat($baseUrl, '')" />
<xsl:variable name="rdfphp" select="concat($baseUrl, 'contentrss.php')" />
<xsl:variable name="entryphp" select="concat($baseUrl, 'content.php')" />
<xsl:variable name="title" select="'サイトタイトル" />
<xsl:variable name="description" select="'サイト説明文" />
<xsl:variable name="subject" select="'テキスト" />

<xsl:template match="/entrylist">

<rdf:RDF xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:lang="ja">

<channel rdf:about="{$index}">
<title><xsl:value-of select="$title" /></title>
<link><xsl:value-of select="$index" /></link>
<description><xsl:value-of select="$description" /></description>
<items>
<rdf:Seq>

<xsl:for-each select="entry">
<rdf:li rdf:resource="{$entryphp}{@href}"/>
</xsl:for-each>

</rdf:Seq>
</items>
</channel>

<xsl:for-each select="entry">
<item rdf:about="{$entryphp}{@href}">
<xsl:if test="not(site-open='2')">
<title><xsl:value-of select="facilities-name2" /></title>
<link><xsl:value-of select="concat($entryphp,@href)" /></link>
<description><xsl:value-of select="facilities-content1-title" /></description>
<dc:date><xsl:value-of select="@year" />-<xsl:value-of select="@month" />-<xsl:value-of select="@day" />T<xsl:value-of select="@hour" />:<xsl:value-of select="@minute" />:<xsl:value-of select="@second" />+09:00</dc:date>
<dc:subject><xsl:value-of select="$subject" /></dc:subject>
</xsl:if>
</item>
</xsl:for-each>

</rdf:RDF>

</xsl:template>
</xsl:stylesheet>

よろしくおねがいいたします。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: RSS表示件数について

投稿記事 by webmaster » 2008年8月25日(月) 15:12

 watanabeさん、ご質問ありがとうございます。
 お返事が大変遅れまして申し訳ありません。

 表示件数ですが、rss出力の場合、15件固定となっております。
 表示が「古いものから」となっているとのことですが、これについては
確認することができませんでした。弊社試験環境では、最新の15件が表示
されております。

 RSS表示はスキーマのsort指定の影響を受ける為、ひょっとするとそちらが
古い順のソートになっている、というようなことはございませんでしょうか。

 大変お手数ですが、またご連絡頂ければ幸いです。

watanabe
記事: 5
登録日時: 2008年8月01日(金) 14:30

お返事ありがとうございました

投稿記事 by watanabe » 2008年8月25日(月) 15:27

ご返信ありがとうございました。

まさにお書き頂いたとおり、スキマーのソートの通りになっております。
ソートは住所順で行っております。

RSS出力のみ、最新の記事を表示する事は可能でしょうか?

お忙しい中申し訳ありませんが、お返事お待ちしております。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: お返事ありがとうございました

投稿記事 by webmaster » 2008年9月02日(火) 16:10

 watanabeさん、お返事ありがとうございます。

 申し訳ありません、その場合、お勧めできる方法が今のところございません。

 どうしても必要な場合、実行時ソート機能を使う方法がございます。

 詳しくはリファレンスマニュアルの「6.3.10 実行時ソート」
をご覧下さい。更新日付でソートすることができない為、代わりにエントリ
ID(@id)で降順ソートするようにして下さい。

コード: 全て選択

 	
<cmsd:entrylist name="xxxxxx" output="rss" design="rss">
  <cmsd:sort key="@id" order="desc" />
</cmsd:entrylist>
 1行目の末尾が「/>」ではなく「>」だけになる事にご注意下さい。

 但し、実行時ソートはサーバに大きな負荷をかける機能で、特にRSSのように
毎日読み込まれるような用途を想定しておりません。

 最適な解をご提供できず申し訳ありません。
 この件についてご質問等ございましたら、またご連絡頂ければ幸いです。

返信