rssの出力で「new」の表示はできますか?
rssの出力で「new」の表示はできますか?
お世話になります。今回はRSS出力について質問したく、書き込みました。
リファレンスマニュアル−「6.3.8 RSSの出力」を見て、rssを配信しています。
うまく配信されるところまでできているのですが、
「現在の日付から●日前のエントリに[New]という表示をさせる」
ことができないかで、悩んでいます。
下記のトピックを拝見すると、Newという表示は難しいようなのですが、
その後のバージョンアップ時などで対応済みということはありませんか?
■外部XML/RSSの読み込み機能
http://cms.al-design.jp/phpbb/viewtopic ... hlight=rss
関連する記事を探してみたのですが、ちょっとわからず、、教えていただきたいと思います。
もし既に該当するトピックがございましたら、そちらを教えていただけると助かります。
よろしくお願い致します。
リファレンスマニュアル−「6.3.8 RSSの出力」を見て、rssを配信しています。
うまく配信されるところまでできているのですが、
「現在の日付から●日前のエントリに[New]という表示をさせる」
ことができないかで、悩んでいます。
下記のトピックを拝見すると、Newという表示は難しいようなのですが、
その後のバージョンアップ時などで対応済みということはありませんか?
■外部XML/RSSの読み込み機能
http://cms.al-design.jp/phpbb/viewtopic ... hlight=rss
関連する記事を探してみたのですが、ちょっとわからず、、教えていただきたいと思います。
もし既に該当するトピックがございましたら、そちらを教えていただけると助かります。
よろしくお願い致します。
最後に編集したユーザー きょうこ on 2007年2月02日(金) 12:05 [ 編集 1 回目 ]
Re: rssの出力で「new(アイコン)」の表示はできますか?
きょうこさん、ご質問ありがとうございます。
お返事遅れましてすいません。
リファレンスマニュアル 5.5.14の「「NEW!」表示をする。」が参考になるかもしれません。
また、最近追加された機能として現在日時の取得機能があります。
こちらはリファレンスマニュアルの5.5.15をご覧下さい。
ご不明な点はまたご質問頂ければ幸いです。
お返事遅れましてすいません。
リファレンスマニュアル 5.5.14の「「NEW!」表示をする。」が参考になるかもしれません。
また、最近追加された機能として現在日時の取得機能があります。
こちらはリファレンスマニュアルの5.5.15をご覧下さい。
ご不明な点はまたご質問頂ければ幸いです。
Re: rssの出力で「new(アイコン)」の表示はできますか?
webmaster様。レスありがとうございます。
rss出力は成功していると書いたのですが、マニュアルとサンプル.xslを
そのまま使って作ったもので、正直なところ、内容はほとんど理解できていません。
マニュアルを見ても、また同梱されているcms_doc_rssの各サンプルや利用方法を
見ても、いまいち何をしているのかが理解できないのです。
そのため、かなり初心者レベルの質問になのですが、お許し下さい。
つけることができないと書いてあります。
■外部XML/RSSの読み込み機能
http://cms.al-design.jp/phpbb/viewtopic ... hlight=rss
これはRSS読み込みだからできなかったのであって、出力の場合は、5.5.14を
参照すれば、Newマークをつけることが可能なのでしょうか?
また、この機能はサイト内のお知らせ等で使っているので、
機能としては理解しているのですが、rss出力で使う場合、
どこに記述すればいいのでしょうか?
CMS Designerで使用されているrssの場合はどこに記述するのかと
教えていただけるとわかりやすいのですが。。。
今回のようにNewマークをつけたいという場合は、どちらの機能を使っても
実現可能ということなのでしょうか?
CMS Designerを使用されている方はxsltにも詳しい方ばかりのようで、
的はずれな質問をしているのかも……と思い、心苦しいのですが、
ご回答よろしくお願い致します。
rss出力は成功していると書いたのですが、マニュアルとサンプル.xslを
そのまま使って作ったもので、正直なところ、内容はほとんど理解できていません。
マニュアルを見ても、また同梱されているcms_doc_rssの各サンプルや利用方法を
見ても、いまいち何をしているのかが理解できないのです。
そのため、かなり初心者レベルの質問になのですが、お許し下さい。
下記のトピでは、現在の日付を取得することができないため、Newマークをwebmaster さんが書きました:リファレンスマニュアル 5.5.14の「「NEW!」表示をする。」が参考になるかもしれません。
つけることができないと書いてあります。
■外部XML/RSSの読み込み機能
http://cms.al-design.jp/phpbb/viewtopic ... hlight=rss
これはRSS読み込みだからできなかったのであって、出力の場合は、5.5.14を
参照すれば、Newマークをつけることが可能なのでしょうか?
また、この機能はサイト内のお知らせ等で使っているので、
機能としては理解しているのですが、rss出力で使う場合、
どこに記述すればいいのでしょうか?
CMS Designerで使用されているrssの場合はどこに記述するのかと
教えていただけるとわかりやすいのですが。。。
5.5.14の場合と、5.5.15の機能の違いが今ひとつ理解できないのですが、webmaster さんが書きました:また、最近追加された機能として現在日時の取得機能があります。こちらはリファレンスマニュアルの5.5.15をご覧下さい。
今回のようにNewマークをつけたいという場合は、どちらの機能を使っても
実現可能ということなのでしょうか?
CMS Designerを使用されている方はxsltにも詳しい方ばかりのようで、
的はずれな質問をしているのかも……と思い、心苦しいのですが、
ご回答よろしくお願い致します。
Re: rssの出力で「new(アイコン)」の表示はできますか?
きょうこさん、ご質問ありがとうございます。
RSS関連については「RSS対応」と謳ってはいるものの、実際のところXSLTテンプレート
を応用しているだけなので、結構複雑かと思います。
ところで、実は良くわかっていないのですが、rssの出力でnewの「アイコン」を表示
するというのは、具体的にはどのようにされたいでしょうか。
rssにアイコンを表示する、という部分についてもう少しご説明頂ければと思います。
rssとして出力する際に、titile部分の先頭に「[new]」という文字を挿入する、という
事ではないのですよね?(「アイコン」と書いてありますので)。
description(説明)の部分の先頭に、<img src="http://〜/new.gif" /> のような
アイコン画像のタグを挿入したい、ということでしょうか。しかし、rssの情報は基本的に
画像データを無視して表示されることが多いので、imgタグを挿入しても意味はないかも
しれません。
例えば前者であれば、
の部分を、
のように変更すればOKかと思います。
またご不明点がありましたらよろしくお願い致します。
RSSの読み込みでは、現在日時を取得する機能がない為、現在では実現することが
できません。m(__)m
させる方法として提供したものです。5.5.15の機能を使えば5.5.14も実現可能です。
ただ、5.5.14の方が単純ですので、利用もしやすいと思います。
5.5.15はもっと複雑なことを実現可能となっていますが、その分使い方もちょっと難しい
です。
その他、ご不明点はなんなりとご質問下さい。
XSLTは日本のウェブデザイナーのほとんどの方が詳しくないと思いますので、お気軽によろしくお願いします。
RSS関連については「RSS対応」と謳ってはいるものの、実際のところXSLTテンプレート
を応用しているだけなので、結構複雑かと思います。
ところで、実は良くわかっていないのですが、rssの出力でnewの「アイコン」を表示
するというのは、具体的にはどのようにされたいでしょうか。
rssにアイコンを表示する、という部分についてもう少しご説明頂ければと思います。
rssとして出力する際に、titile部分の先頭に「[new]」という文字を挿入する、という
事ではないのですよね?(「アイコン」と書いてありますので)。
description(説明)の部分の先頭に、<img src="http://〜/new.gif" /> のような
アイコン画像のタグを挿入したい、ということでしょうか。しかし、rssの情報は基本的に
画像データを無視して表示されることが多いので、imgタグを挿入しても意味はないかも
しれません。
例えば前者であれば、
コード: 全て選択
<title><xsl:value-of select="タイトル用項目名" /></title> コード: 全て選択
<title><xsl:if test="@daysago<7">[NEW]</xsl:if><xsl:value-of select="タイトル用項目名" /></title>またご不明点がありましたらよろしくお願い致します。
はい、RSSの読み込みと出力はまったく別の機能となります。これはRSS読み込みだからできなかったのであって、出力の場合は、5.5.14を
参照すれば、Newマークをつけることが可能なのでしょうか?
RSSの読み込みでは、現在日時を取得する機能がない為、現在では実現することが
できません。m(__)m
はい、5.5.14は、5.5.15の機能がなかった頃に、少しでも簡単に「NEW」表示を実現5.5.14の場合と、5.5.15の機能の違いが今ひとつ理解できないのですが、
今回のようにNewマークをつけたいという場合は、どちらの機能を使っても
実現可能ということなのでしょうか?
させる方法として提供したものです。5.5.15の機能を使えば5.5.14も実現可能です。
ただ、5.5.14の方が単純ですので、利用もしやすいと思います。
5.5.15はもっと複雑なことを実現可能となっていますが、その分使い方もちょっと難しい
です。
その他、ご不明点はなんなりとご質問下さい。
XSLTは日本のウェブデザイナーのほとんどの方が詳しくないと思いますので、お気軽によろしくお願いします。
Re: rssの出力で「new(アイコン)」の表示はできますか?
webmaster様、いつも素早いご回答ありがとうございます。
RSSについてはお客様からも要望されることが多いので、助かっています。
RSSですから、画像が無視されるのは当然ですよね。。混乱させてしまってすみません!
教えていただいたように次のように記述してみました。
"@daysago<7" ではうまくいかなかったのですが、既に一覧表示のデザイン定義 で設定していた15か14の数値を入れたところ、うまくいきました。
実現できたので問題はないのですが、下記の点がよく理解できずにいるため、よろしければ教えていただけると幸いです。
現在、下記のようなデザイン定義を作っています。
1)news.list.top.design.xsl (トップページに組み込むためのデザイン定義)
2)news.list.default.design.xsl (一覧)
3)news.default.design.xsl (1件表示)
そして、1)と2)に下記のように記述しています。
RSS用のデザイン定義には次のように記述しました。
14を15に変えてもうまくいきました。
5.5.14は、5.5.15の部分がわからず悩んでいたのですが、この説明でとてもよくわかりました
いつもすばやくご対応いただけるので助かっています。
今後ともよろしくお願いいたします。
RSSについてはお客様からも要望されることが多いので、助かっています。
申し訳ありません。。アイコンに限定していたのではなく、[New]という文字を表示させることができればOKです。ところで、実は良くわかっていないのですが、rssの出力でnewの「アイコン」を表示
するというのは、具体的にはどのようにされたいでしょうか。
rssにアイコンを表示する、という部分についてもう少しご説明頂ければと思います。
RSSですから、画像が無視されるのは当然ですよね。。混乱させてしまってすみません!
教えていただいたように次のように記述してみました。
コード: 全て選択
<title><xsl:if test="@daysago<7">[NEW]</xsl:if><xsl:value-of select="タイトル用項目名" /></title> 実現できたので問題はないのですが、下記の点がよく理解できずにいるため、よろしければ教えていただけると幸いです。
現在、下記のようなデザイン定義を作っています。
1)news.list.top.design.xsl (トップページに組み込むためのデザイン定義)
2)news.list.default.design.xsl (一覧)
3)news.default.design.xsl (1件表示)
そして、1)と2)に下記のように記述しています。
コード: 全て選択
<xsl:if test="@daysago<15">
<dd class="new">
<a href="news.php?eid={@id}">
<xsl:value-of select="title" disable-output-escaping="yes" />
</a><span class="none"> 【NEW】</span>
</dd>
</xsl:if>
<xsl:if test="@daysago>14">
<dd>
<a href="news.php?eid={@id}">
<xsl:value-of select="title" disable-output-escaping="yes" />
</a>
</dd>
</xsl:if>RSS用のデザイン定義には次のように記述しました。
14を15に変えてもうまくいきました。
コード: 全て選択
<title><xsl:if test="@daysago<14">[NEW]</xsl:if><xsl:value-of select="title" /></title>はい、RSSの読み込みと出力はまったく別の機能となります。
RSSの読み込みでは、現在日時を取得する機能がない為、現在では実現することが
できません。m(__)m
5.5.14は、5.5.15の機能がなかった頃に、少しでも簡単に「NEW」表示を実現
させる方法として提供したものです。5.5.15の機能を使えば5.5.14も実現可能です。
ただ、5.5.14の方が単純ですので、利用もしやすいと思います。
5.5.15はもっと複雑なことを実現可能となっていますが、その分使い方もちょっと難しいです。
いつもすばやくご対応いただけるので助かっています。
今後ともよろしくお願いいたします。
Re: rssの出力で「new(アイコン)」の表示はできますか?
うまく使用されているようなので、こちらから見ると全て理解されているように見えるのですが、ご質問の意味は@daysagoの使い方ということでよろしかったでしょうか。きょうこ さんが書きました: 実現できたので問題はないのですが、下記の点がよく理解できずにいるため、よろしければ教えていただけると幸いです。
@daysagoは、そのエントリの更新日時が、現在日時から数えて「○日前」かを取得するものです。
XSLTでは<xsl:if>を使って「ある特定の条件の場合のみ○○を出力せよ」という事ができるので、これを組み合わせます。
<xsl:if>は、test属性の中身を条件式として判断し、結果が「成立する(=真:Trueである)」か「成立しない(=偽:Falseである)」かによって処理を変えることができます。結果が真の場合にのみ、<xsl:if>の内部を実行します。
コード: 全て選択
<xsl:if test="@daysago<7">[NEW]</xsl:if>
つまり、「@daysago<7」は「@daysago<7」という意味になります。これはつまり、「@daysagoが7より小さかったら」という条件を表す不等式です。
全部合わせると、
コード: 全て選択
<xsl:if test="@daysago<7">[NEW]</xsl:if>
このようなご説明でよろしかったでしょうか。
その他、ご不明な点はなんなりとご質問下さい。
Re: rssの出力で「new(アイコン)」の表示はできますか?
何度も丁寧にご説明いただき、本当にありがとうございます。
という意味は理解できていると思っているのですが、
教えていただいたように@daysago<7"にするとうまくいかず、@daysago<14"または@daysago<15"にしなければうまくいかない部分が、いまいち理解できないんです。
news.list.design.xslのファイルにて14、15で設定していることが影響しているのでしょうか?
一覧表示の際とRSS出力の際のNew表示の設定日付を同じにしなければならないというのであれば理解できるのですが、news.list.design.xslにてどう定義しようが関係なく、rss出力の際に、@daysago<7にしてもうまくいくのではないかと思うのです。
どこが違うのか教えていただけないでしょうか?
たびたび申し訳ございませんが、よろしくお願いいたします。
コード: 全て選択
<xsl:if test="@daysago<7">[NEW]</xsl:if>教えていただいたように@daysago<7"にするとうまくいかず、@daysago<14"または@daysago<15"にしなければうまくいかない部分が、いまいち理解できないんです。
news.list.design.xslのファイルにて14、15で設定していることが影響しているのでしょうか?
一覧表示の際とRSS出力の際のNew表示の設定日付を同じにしなければならないというのであれば理解できるのですが、news.list.design.xslにてどう定義しようが関係なく、rss出力の際に、@daysago<7にしてもうまくいくのではないかと思うのです。
どこが違うのか教えていただけないでしょうか?
たびたび申し訳ございませんが、よろしくお願いいたします。
Re: rssの出力で「new(アイコン)」の表示はできますか?
すいません、また外してしまったようで…。
@daysago<7でうまくいかず、14や15にするとうまくいく、というのは私から
見ても謎です。仰るとおり、「一覧表示の際とRSS出力の際のNew表示の設定日付を
同じにしなければならない」というようなことはありません。
「うまくいかない」という内容にもよりますが、それは、例えば
・2007年1月1日の更新日時のエントリがある。
・そのエントリに対して「@daysago<7」の条件で[NEW]表示をするデザインを作成。
・そのデザインを、2007年1月5日に表示した。
・ところが、[NEW]が表示されない。
・「@daysago<15」にすると表示された。
というような感じでしょうか?
それとも、エラーか何かが表示されるのでしょうか。
または、本来[NEW]が表示されてはいけない部分にまで[NEW]が表示されるのでしょうか。
それともまた別の何かが起きているのでしょうか。
大変お手数ですが、その辺を再度ご連絡頂ければ幸いです。
@daysago<7でうまくいかず、14や15にするとうまくいく、というのは私から
見ても謎です。仰るとおり、「一覧表示の際とRSS出力の際のNew表示の設定日付を
同じにしなければならない」というようなことはありません。
「うまくいかない」という内容にもよりますが、それは、例えば
・2007年1月1日の更新日時のエントリがある。
・そのエントリに対して「@daysago<7」の条件で[NEW]表示をするデザインを作成。
・そのデザインを、2007年1月5日に表示した。
・ところが、[NEW]が表示されない。
・「@daysago<15」にすると表示された。
というような感じでしょうか?
それとも、エラーか何かが表示されるのでしょうか。
または、本来[NEW]が表示されてはいけない部分にまで[NEW]が表示されるのでしょうか。
それともまた別の何かが起きているのでしょうか。
大変お手数ですが、その辺を再度ご連絡頂ければ幸いです。
Re: rssの出力で「new(アイコン)」の表示はできますか?
webmaster様、素早いご対応ありがとうございます。
また、漠然とした質問を投げてしまい、申し訳ありません……。
「うまくいかない」という具体的症状は、webmaster様が書いて下さっているように下記の通りです。
記述方法が違うのかなと思いましたが、単純に7→15(もしくは14)にするとうまくいくので、記述の問題ではないのかなと思いました。
本来[NEW]が表示されてはいけない部分にまで[NEW]が表示されるということもありません。
下記のようなご回答をいただいておりますので、リスト表示と1件表示で個別の設定ができるのですから、RSSのデザイン定義も同じものと理解して、間違いないということですよね。
不具合というよりは、私の方で何か勘違いをして処理している気がしますので、もう一度いろいろなケースでチェックしてみます。
P.S.他の方がトピックを拝見された場合のことを考えて、タイトルから「アイコン」の文字を消しました。
また、漠然とした質問を投げてしまい、申し訳ありません……。
「うまくいかない」という具体的症状は、webmaster様が書いて下さっているように下記の通りです。
エラー等はなく、きちんと表示されていますが、Newと表示されるべきところに表示されないという具合です。・2007年1月1日の更新日時のエントリがある。
・そのエントリに対して「@daysago<7」の条件で[NEW]表示をするデザインを作成。
・そのデザインを、2007年1月5日に表示した。
・ところが、[NEW]が表示されない。
・「@daysago<15」にすると表示された。
記述方法が違うのかなと思いましたが、単純に7→15(もしくは14)にするとうまくいくので、記述の問題ではないのかなと思いました。
本来[NEW]が表示されてはいけない部分にまで[NEW]が表示されるということもありません。
下記のようなご回答をいただいておりますので、リスト表示と1件表示で個別の設定ができるのですから、RSSのデザイン定義も同じものと理解して、間違いないということですよね。
この回答を拝見し、認識は間違っていないことに安心しました。@daysago<7でうまくいかず、14や15にするとうまくいく、というのは私から
見ても謎です。仰るとおり、「一覧表示の際とRSS出力の際のNew表示の設定日付を
同じにしなければならない」というようなことはありません。
不具合というよりは、私の方で何か勘違いをして処理している気がしますので、もう一度いろいろなケースでチェックしてみます。
P.S.他の方がトピックを拝見された場合のことを考えて、タイトルから「アイコン」の文字を消しました。
Re: rssの出力で「new(アイコン)」の表示はできますか?
認識が合致したようで嬉しいです。:)
そういうことでしたら、ひょっとするとCMS Designerの不具合である可能性も
あるかもしれません。
一度、@daysago の内容を画面に出して確認して頂いてもよろしいでしょうか。
<xsl:value-of select="@daysago" />
で、@daysagoの内容を表示できます。
エントリ更新日時と現在日時を比較して、@daysagoの内容が間違いなくその
日数差になっているかを目視にてご確認下さい。
例えば 2007年1月30日0:00 のエントリを、2007年2月2日10:00 に表示すれば、
@daysagoは「3」と表示されるはずです。
そういうことでしたら、ひょっとするとCMS Designerの不具合である可能性も
あるかもしれません。
一度、@daysago の内容を画面に出して確認して頂いてもよろしいでしょうか。
<xsl:value-of select="@daysago" />
で、@daysagoの内容を表示できます。
エントリ更新日時と現在日時を比較して、@daysagoの内容が間違いなくその
日数差になっているかを目視にてご確認下さい。
例えば 2007年1月30日0:00 のエントリを、2007年2月2日10:00 に表示すれば、
@daysagoは「3」と表示されるはずです。
Re: rssの出力で「new(アイコン)」の表示はできますか?
具体的な状況をきちんと書いていなかったため、ややこしくしてしまい、申し訳ないです。
次のような作業を行いました。
1,2007年1月30日付けのエントリを投稿する
2,news.list.design.xslに、<xsl:value-of select="@daysago" />の記述を追加する
※<xsl:for-each select="entry">のすぐ下に入れました。
3,news.phpを表示し、日数差を確認
これは「3」と表示されないとダメってことですよね?
該当ファイルのキャプチャをとりましたので、webmaster様宛に送らせていただきたいと思います。
早速、該当ファイルに記述したのですが、RSS出力のデザイン定義ファイルでは、どこに記述していいかわからなかったので、一覧表示のデザイン定義ファイルに記述してみました。そういうことでしたら、ひょっとするとCMS Designerの不具合である可能性も
あるかもしれません。
一度、@daysago の内容を画面に出して確認して頂いてもよろしいでしょうか。
次のような作業を行いました。
1,2007年1月30日付けのエントリを投稿する
2,news.list.design.xslに、<xsl:value-of select="@daysago" />の記述を追加する
※<xsl:for-each select="entry">のすぐ下に入れました。
3,news.phpを表示し、日数差を確認
1〜3の作業をした結果、1/30のエントリの日数差は「9」と表示されました。例えば 2007年1月30日0:00 のエントリを、2007年2月2日10:00 に表示すれば、
@daysagoは「3」と表示されるはずです。
これは「3」と表示されないとダメってことですよね?
該当ファイルのキャプチャをとりましたので、webmaster様宛に送らせていただきたいと思います。
Re: rssの出力で「new」の表示はできますか?
webmaster様。いつも迅速なご対応ありがとうございます。
質問している件について、2/2にキャプチャを添付してメールを送っているのですが、届いておりますでしょうか…?
別トピで「メールが届かない件について」を見たので、もしかして…!?とちょっと気になって書き込みしました。
届いているのであればそれで構いませんが、もし届いていない場合はどのようにさせていただけばよいか、ご連絡いただけると助かります。
よろしくお願い申し上げます。
質問している件について、2/2にキャプチャを添付してメールを送っているのですが、届いておりますでしょうか…?
別トピで「メールが届かない件について」を見たので、もしかして…!?とちょっと気になって書き込みしました。
届いているのであればそれで構いませんが、もし届いていない場合はどのようにさせていただけばよいか、ご連絡いただけると助かります。
よろしくお願い申し上げます。
Re: rssの出力で「new」の表示はできますか?
きょうこさん、大変失礼致しました。
只今確認したところ、2/2に確かにメールが届いておりました。
見過ごしていたようです。お待たせしてしまい、申し訳ありません。m(__;)m
お返事にもう少しお時間頂くと思いますが、いましばらくお待ち頂ければ幸いです。
只今確認したところ、2/2に確かにメールが届いておりました。
見過ごしていたようです。お待たせしてしまい、申し訳ありません。m(__;)m
お返事にもう少しお時間頂くと思いますが、いましばらくお待ち頂ければ幸いです。