行に分割したいカテゴリの数があります。行のカテゴリの数はに基づいてい$catsInLine
ます。$catsInLine
1 から 12 までの数字です。各カテゴリは、スパン 1 からスパン 12 までのクラスで DIV によってラップされます。また、カテゴリは<div class="row-fluid">
、各行で再びラップされます。
以下で何時間も試してみましたが、正しい結果が得られませんでした。
<div class="row-fluid">
<xsl:variable name="catsInLine">
<xsl:value-of select="categories_in_line" />
</xsl:variable>
<xsl:variable name="column">
<xsl:value-of select="(12 div $catsInLine)" />
</xsl:variable>
<xsl:for-each select="categories/category">
<xsl:if test="position() mod $catsInLine = 1 or position() = 1">
<xsl:text disable-output-escaping="yes"><div class="row-fluid"></xsl:text>
</xsl:if>
<div class="span{$column}">
<xsl:call-template name="category" />
</div>
<xsl:if test="position() mod $catsInLine = 0 or position() = last()">
<xsl:text disable-output-escaping="yes"></div></xsl:text>
</xsl:if>
</xsl:for-each>
</div>
であると仮定する$catsInLine
と2
、私が取得したい結果は
<div class="row-fluid">
<div class="span6">
<a>Category1</a>
</div>
<div class="span6">
<a>Category2</a>
</div>
</div>
<div class="row-fluid">
<div class="span6">
<a>Category3</a>
</div>
<div class="span6">
<a>Category4</a>
</div>
</div>
が の場合、結果$catsInLine
は1
<div class="row-fluid">
<div class="span12">
<a>Category1</a>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<a>Category2</a>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<a>Category3</a>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<a>Category4</a>
</div>
</div>