list項目について

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

list項目について

投稿記事 by yoshi » 2007年6月28日(木) 14:34

お世話になります。
list項目で埋め込みタグの[rows]の様に表示する数をスキーマ・デザイン定義・埋め込みタグのいずれかで制御することはできるでしょうか?
ちなみに表示する項目は10個までにしたいのですが、
コンパネでリスト項目を10個までにすれば簡単なのですが、こちらで調整出来ない理由があり、コンパネではさわれません。
最終的にlist項目をやめて個別にエントリーさせれば出来ますが、なんとかlistで修正できればと思います。
何かよい方法がありますでしょうか?よろしくお願いします。

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

投稿記事 by tsu » 2007年6月28日(木) 18:03

うまく動かない可能性があるのですが一応書いてみました。

コード: 全て選択

リストループの外で
<xsl:if test="listname/listitem[position()] > 10">

もしくはリストループ内で
<xsl:if test="position() > 10">
いずれも現在位置が10以下だったら〜という条件です。
positionが11になったらそれ以上は表示しない。という感じになるはず。かもです。

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

投稿記事 by tsu » 2007年6月28日(木) 22:09

すいません。全くうまく動きませんでした。
ちょっと無理やりですが、これなら10件のみ表示可能でした。

コード: 全て選択

<xsl:if test="position = position()=1 or position()=2 or position()=3 or position()=4 or position()=5 or position()=6 or position()=7 or position()=8 or position()=9 or position()=10"> 
ただ、あほみたいに長くなるし調整も面倒なのでこうしました

コード: 全て選択

<xsl:if test="position = (position() > 10)">
この方がシンプルです。

for-each select="listname/listitem"〜の直下に置いて下さい。

追記:
サンプル
http://cmsd.pdy.jp/ref.php
※メニューのスキーマ定義を空けてもらうと、リストアイテムが12個あるのがわかります。
 ただ実際表示されているのは10個のみになってます。

まだテスト状態の汚いサイトですので内容は気にしないで下さい。

yoshi
アクティブユーザー
記事: 11
登録日時: 2007年5月10日(木) 19:42

投稿記事 by yoshi » 2007年6月28日(木) 23:45

アドバイスありがとうございました。
早速試してみたいと思います。

返信