我正在umbraco建立一个网站。在这我是渲染图像using umbraco.library.getMedia
方法。在这里,我面临着umbraco的一种非常奇怪的行为。有时图像会被渲染,有时图像不会渲染。我已经分析了xslt,我发现getMedia(nodeid,0)/umbracoFile
在我得到空图像src时没有返回任何东西。如果我发布任何节点或在umbraco的某个地方工作然后发布网站,那么我可能会发现渲染图像。这意味着图像随机出现并消失。
这完全让我感到困惑,故障在哪里。请帮帮我。
我发布用于渲染图片的代码
<xsl:variable name="img1" select="umbraco.library:GetMedia($slideImg,'false')/umbracoFile" />
<xsl:variable name="img2" select="umbraco.library:GetMedia($slideImg,0)/umbracoFile" />
<xsl:choose>
<xsl:when test="$img1!= ''">
<img src="{$img1}" alt="" style="display: block;"
title="{umbraco.library:GetXmlNodeById(@id)/imageTitle}" description="{umbraco.library:GetXmlNodeById(@id)/description}"/>
</xsl:when>
<xsl:otherwise>
<img src="{$img2}" alt="" style="display: block;"
title="{umbraco.library:GetXmlNodeById(@id)/imageTitle}" description="{umbraco.library:GetXmlNodeById(@id)/description}"/>
</xsl:otherwise>
</xsl:choose>
答案 0 :(得分:0)
根据我的理解,您正在尝试显示图像,但每次使用上面的代码时都没有显示图像。
我已经克隆了上面的代码并将其细化到下面,我首先使用currentPage变量检查slideImg是否等于true,并将值固定到结尾,如果为true,则继续执行下面的代码。然后我在if语句中创建了我的变量,因为我不需要它被中断,除非我们有一个可用的图像。我在变量中得到了媒体文件slideImg,并通过将/ umbracofile固定到变量的末尾来显示img src中的这个图像,该变量将拉动图像路径。
<xsl:if test="$currentPage/slideImg != 0">
<xsl:variable name="img1" select="umbraco.library:GetMedia($currentPage/slideImg, 0)" />
<img src="{$img1/umbracoFile}" alt="{$img1/@nodeName}" />
</xsl:if>
我希望这能解决你的问题。如果这没有太大意义,我会为论坛的新手提供道歉