0

我在 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>
4

1 回答 1

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>

我希望这能解决你的问题。抱歉,如果这没有太大意义,我是论坛的新手

于 2013-06-25T17:52:21.170 回答