ページ 11

リスト編集内の非表示について

Posted: 2007年4月02日(月) 09:58
by mino
いつもありがとうございます。

エントリは公開状態を「表示」「非表示」にできるのですが、

リストを編集内も同じようなことは可能でしょうか?

よろしくお願いします。

Re: リスト編集内の非表示について

Posted: 2007年4月06日(金) 14:08
by webmaster
 minoさん、お返事が大変遅れまして申し訳ありません。

 繰り返し項目の個々の項目については、表示/非表示をそのままでは行う事が
できません。

 これは、スキーマとデザイン定義を組み合わせることで実現可能です。
 考え方としてはこんな感じになります。

(1) スキーマの繰り返し項目内に、表示/非表示をさせるためのメニュー項目を
 一つ追加します。
(2) デザイン定義側で繰り返し項目の表示時に、このメニュー項目の値が「非表示」
 になっていたら表示を行わないようにします。

 具体的な方法が分からない場合、お手数ですが再度ご質問頂ければ幸いです。

ヒントありがとうございます

Posted: 2007年4月07日(土) 05:35
by mino
スキーマ&デザイン定義チャレンジしてみます。

どうしても分からなければご質問するかもしれませんので、

その際はよろしくお願いします!

Posted: 2007年4月11日(水) 11:31
by bikle
横から申し訳ないのですが、繰り返し項目の個々の項目の表示/非表示の具体的なやり方を教えてはもらえないでしょうか?
よろしくお願いします。

Posted: 2007年4月11日(水) 12:23
by webmaster
 bikleさん、ご質問ありがとうございます。
 ちょっと時間があったのでサンプルを作ってみました。

 例えば次のような繰り返し項目がスキーマにあったとします。

コード: 全て選択

<data name="shoplist" type="list" caption="お店のリスト" >
	<listitem caption="お店情報" title="shopname">
		<data name="visible" type="menu" caption="表示">
			<menuitem id="show">表示</menuitem>
			<menuitem id="hide">非表示</menuitem>
		</data>
		<data name="shopname" type="text" caption="お店の名前" />
		<data name="shopdesc" type="textarea" caption="お店の紹介文" />
	</listitem>
</data>
 デザイン定義ではこのようにします。

コード: 全て選択

<xsl:for-each select="shoplist/listitem">
	<xsl:if test="visible='show'">
		<h3><xsl:value-of select="shopname" /></h3>
		<div class="shopdesc">
			<xsl:value-of select="shopdesc" disable-output-escaping="yes" />
		</div>
	</xsl:if>
</xsl:for-each>
 「visible」メニュー項目が「表示(show)」の場合のみ、その繰り返し項目を出力するようにしています。
 内容についてご不明な点がありましたら、またご質問下さい。m(__)m
 尚、このサンプルは動作確認をしていない為、記述ミスなどがある場合がございますのでご留意下さい。

Posted: 2007年4月11日(水) 20:08
by bikle
>webmaster様
詳細な説明どうもありがとうございました!
お陰さまで何とかうまくいくことができました。
また何かあった際にはよろしくお願いいたします。