list項目の公開設定について

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
RiU
アクティブユーザー
記事: 21
登録日時: 2007年2月23日(金) 15:48

list項目の公開設定について

投稿記事 by RiU » 2007年5月14日(月) 11:54

お世話になります。

もしかしたら要望になってしまうかもしれませんが、
list項目の公開設定をする事は出来ないでしょうか?

例えば、「セミナー」の案内をする場合、
 セミナーA
   1  5/1
   2  6/1
   3  7/1
 セミナーB
   1  5/15
   2  6/15
   3  7/15

とあった場合に、終了した物・募集前の物を非表示にしておきたく思います。
セミナーABは通常のエントリ、1・2・3などの予定日をlist項目でと考えていますが、
list項目の公開設定が無かった為、実現できるか否かも悩み中です。

ご教授頂けると幸いです。

tsu
パワーユーザー
記事: 208
登録日時: 2006年1月16日(月) 12:00
お住まい: さいたま

投稿記事 by tsu » 2007年5月14日(月) 16:30

試す暇がなくてあれなんですが、today属性(v1.1.5より)を使ってその日(指定日)を過ぎたら表示させないようにするのは如何でしょう。

コード: 全て選択

.
.
.

<xsl:variable name="close_date" select="/*/today" /><!-- 今日の日付を変数へ -->

<xsl:for-each select="listname/listitem"><!-- #リストループ -->

<xsl:variable name="open_date" select="list_date" /><!-- 面倒なので入力値を変数へ -->

<xsl:if test($open_date <= $close_date)><!-- 今日以下だったら表示する(条件はお好みで) -->

<!-- ここに表示内容を記述 -->
<xsl:value-of select="test" />

</xsl:if>

<xsl:for-each><!-- /リストループ -->

.
.
.
.
動かない可能性アリアリなので参考程度に。

RiU
アクティブユーザー
記事: 21
登録日時: 2007年2月23日(金) 15:48

投稿記事 by RiU » 2007年5月15日(火) 10:30

tsu様
ご教授ありがとうございます。

なるほど、todayと入力日を比較すれば、希望の期間のみ表示する事がそうです。
管理画面では、表示・非表示のステータスが分からないのは妥協でしょうか・・

表示できるlistが無かった場合に、メッセージを出したり、非表示にしたりなどは、どんどん複雑に
ifが繰り返されそうで、混乱しそうですが・・
一つ作ればパーツとして流用できそうなので、頑張って見ます。

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

返信