ページ 1 / 1

list項目の出力について

Posted: 2008年1月16日(水) 03:06
by rueshell
はじめて書き込みさせていただきます。
あるメーカーの案件を受注するためにテストしています。

list項目の画像を6枚表示させて、改行させ
次の段でも6枚表示させたいのですが
何も表示されません。

画像は1枚の時もあれば20枚の時もあります。


ソースは下記のとおりです。
過去ログのn番目に<br />タグを入れるを参考にしたのですが・・・


<xsl:for-each select="photolist/listitem">
<xsl:if test="(position() mod 6)=0">
<a href="../{photo}" target="_blank"><img src="../{photo}&w=80" border="0" /></a>
<br />
</xsl:if>
</xsl:for-each>

初歩的な質問かもしれませんが、よろしくお願いします。

Re: list項目の出力について

Posted: 2008年1月21日(月) 15:31
by webmaster
 rueshellさん、ご質問ありがとうございます。
 お返事が遅れまして申し訳ありません。

 拝見したところ、「6枚毎にBRタグを出力したい」ということですので、

<xsl:for-each select="photolist/listitem">
<xsl:if test="(position() mod 6)=0"><br /></xsl:if>
<a href="../{photo}" target="_blank"><img src="../{photo}&w=80" border="0" /></a>
</xsl:for-each>

 でいかがでしょうか。
 元のソースですと、画像自体、6枚毎にしか表示されないかと思います。

 お手数ですが、一度お試し頂ければ幸いです。

ありがとうございます。

Posted: 2008年1月22日(火) 06:43
by rueshell
ありがとうございました。
うまくいきましたが、

<xsl:for-each select="photolist/listitem">
<xsl:if test="(position() mod 6)=0"><br /></xsl:if>
<a href="../{photo}" target="_blank"><img src="../{photo}&w=80" border="0" /></a>
</xsl:for-each>

ところが今度は5枚ごとに改行されるようになってしまいました。
だから
<xsl:if test="(position() mod 7)=0">にしてます。
何が間違ってるのでしょうか?

Re: ありがとうございます。

Posted: 2008年1月22日(火) 09:18
by webmaster
 rueshellさん、申し訳ありません、brタグの出力位置が、imgより前になって
いました。m(__)m

コード: 全て選択

<xsl:for-each select="photolist/listitem">
<a href="../{photo}" target="_blank"><img src="../{photo}&w=80" border="0" /></a>
<xsl:if test="(position() mod 6)=0"><br /></xsl:if>
</xsl:for-each>
 これでどうでしょうか。

今度はうまくいきました。

Posted: 2008年1月22日(火) 09:49
by rueshell
おぉ〜うまくいきました。
ありがとうございました。
ぜひ、購入できるようにがんばりたいと思います。(笑)