私はこの再帰メニューを使用しており、いくつかの変更を加えています。最初のレベルの li タグで必要なのは、一意の番号を持つ ID です。したがって、最初の ID は id="mid0"、2 番目の ID は id="mid1" などです。これはどのように行うことができますか?
私は XSLT を初めて使用するので、おそらくばかげた質問をして申し訳ありませんが、検索してみましたが、探しているものが見つかりません。
<xsl:if test="count($currentPage/ancestor::root/* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']) > '0'">
<xsl:for-each select="$currentPage/ancestor::root/* [@level=$level]/* [@isDoc and string(umbracoNaviHide) != '1']">
<li class="twocol">
<a href="{umbraco.library:NiceUrl(@id)}">
<xsl:if test="$currentPage/@id = current()/@id">
<xsl:attribute name="class">Selected</xsl:attribute>
</xsl:if>
<xsl:value-of select="@nodeName"/>
</a>
<xsl:if test="count(current()/* [@isDoc and string(umbracoNaviHide) != '1']) > '0'">
<xsl:call-template name="submenu">
<xsl:with-param name="level" select="$level+1"/>
</xsl:call-template>
</xsl:if>
</li>
</xsl:for-each>
</xsl:if>
クラス「twocol」のliは、IDが必要な場所であるため、出力は次のようになります。
<li id="mid0" class="twocol">
<li id="mid1" class="twocol">