다음 XSLT 코드는 지정된 노드에서 폴더와 해당 파일 항목을 나열합니다.XSLT xsl : apply-templates 조건부 구문
이 모든 것은 정상적으로 작동하지만 페이지를 매개 변수화하고 선택적으로 태그 값으로 출력을 필터링하고 싶습니다.
나는 XLST numpty가되어 조건문에 대한 문법이 엉망이되어 <xsl:when test="$tag">
절을 입력해야합니다. 누군가 도움을받을 수 있습니까?
<xsl:variable name="tag" select="umbraco.library:Request('tag')" />
<xsl:template match="/">
<!-- Root folder in Media that holds the folders to output -->
<xsl:variable name="mediaRootFolderId" select="5948" />
<!-- Pass in true() to get XML for all nodes below -->
<xsl:variable name="mediaRootNode" select="umbraco.library:GetMedia($mediaRootFolderId, true())" />
<xsl:choose>
<xsl:when test="$tag">
</xsl:when>
<xsl:otherwise>
<!-- If we didn't get an error, output Folder elements that contain Image elements -->
<xsl:apply-templates select="$mediaRootNode[not(error)]/Folder[File]" >
<xsl:sort select="@nodeName"/>
</xsl:apply-templates>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- Template for folders -->
<xsl:template match="Folder">
<div class="folder">
<h2>Folder: <xsl:value-of select="@nodeName" /></h2>
<div class="images">
<xsl:apply-templates select="File">
<xsl:sort select="@nodeName"/>
</xsl:apply-templates>
</div>
</div>
</xsl:template>
<!-- Template for files -->
<xsl:template match="File">
File: <a href="{umbracoFile}" alt="{@nodeName}" ><xsl:value-of select="@nodeName" /></a> <br/>
</xsl:template>
코드 스 니핏 위의 설명에서 코드가 사라지지 않도록이 게시물을 편집하고 작은 따옴표를 역선으로 전환해야합니다. 뒷다리는 틸다와 같은 열쇠에 있습니다. –
좋은 질문입니다, +1. 쉽고 간단하며 간단한 해결책은 내 대답을 참조하십시오. :) –