我正在尝试使用xslt创建一个动态图库并搜索了论坛,但似乎找不到任何具有相同问题的线程。这个想法是用户可以从各个内容页面上的媒体选项卡中选择最多6张图片,以便在不同页面上可以有不同的图库。文件保存正确,我没有收到任何错误,但是当页面加载时没有显示任何错误。
xslt
<xsl:if test="$currentPage/image > 0">
<xsl:variable name="gal1" select="umbraco.library:GetMedia($currentPage/galimg1, false())" />
<xsl:variable name="gal2" select="umbraco.library:GetMedia($currentPage/galimg2, false())" />
<xsl:variable name="gal3" select="umbraco.library:GetMedia($currentPage/galimg3, false())" />
<xsl:variable name="gal4" select="umbraco.library:GetMedia($currentPage/galimg4, false())" />
<xsl:variable name="gal5" select="umbraco.library:GetMedia($currentPage/galimg5, false())" />
<xsl:variable name="gal6" select="umbraco.library:GetMedia($currentPage/galimg6, false())" />
<xsl:if test="not($gal1/error)">
<xsl:variable name="url" select="$gal1/umbracoFile" />
<a rel="prettyPhoto [gallery]" href="{$url}">
<img src="{$url}" />
</a>
</xsl:if>
<xsl:if test="not($gal2/error)">
<xsl:variable name="url" select="$gal2/umbracoFile" />
<a rel="prettyPhoto [gallery]" href="{$url}">
<img src="{$url}" />
</a>
</xsl:if>
<xsl:if test="not($gal3/error)">
<xsl:variable name="url" select="$gal3/umbracoFile" />
<a rel="prettyPhoto [gallery]" href="{$url}">
<img src="{$url}" />
</a>
</xsl:if>
<xsl:if test="not($gal4/error)">
<xsl:variable name="url" select="$gal4/umbracoFile" />
<a rel="prettyPhoto [gallery]" href="{$url}">
<img src="{$url}" />
</a>
</xsl:if>
<xsl:if test="not($gal5/error)">
<xsl:variable name="url" select="$gal5/umbracoFile" />
<a rel="prettyPhoto [gallery]" href="{$url}">
<img src="{$url}" />
</a>
</xsl:if>
<xsl:if test="not($gal6/error)">
<xsl:variable name="url" select="$gal6/umbracoFile" />
<a rel="prettyPhoto [gallery]" href="{$url}">
<img src="{$url}" />
</a>
</xsl:if>
</xsl:if>
答案 0 :(得分:0)
结束了针对此问题的不同路线。不是将图像添加到媒体选项卡,然后从内容页面单独选择它们,而是允许用户只选择整个文件夹并以此方式创建图库。
<!-- Displays all images from a folder in the Media Library -->
<xsl:if test="number($mediaFolderId)">
<div class="galleryContainer">
<xsl:for-each select="umbraco.library:GetMedia($mediaFolderId, true())/Image">
<xsl:if test="umbracoFile !=''">
<a href="{umbracoFile}" title="{umbracoDescription}" rel="prettyPhoto [gallery]">
<img class="galleryWatermark" src="/images/logo_watermark.png" alt="{@nodeName}" title="{@nodeName}" style="background:url({umbracoFile}) top no-repeat; background-size:180px; width:100%; height:100%;" />
</a>
</xsl:if>
</xsl:for-each>
</div>
</xsl:if>