我的目的是创建一个新闻列表,并且会在一些新闻上附加一个缩略图(news_teaserimage)。问题是如果我只在某些节点中选择媒体,我会得到一个 xslt 错误,并且不会生成任何代码。如果我在所有节点中选择媒体,那么它就可以工作。目的是无论是否有图像,代码都会生成节点。如果没有选择图像,则不会显示。
我究竟做错了什么?
<ul> <xsl:for-each select="umbraco.library:GetXmlNodeById($source)/* [@isDoc and string(umbracoNaviHide) != '1']"> <xsl:variable name="media" select="umbraco.library:GetMedia(news_teaserimage, 0)"/> <li> <h2><xsl:value-of select="@nodeName"/></h2> <h5><xsl:value-of select="@createDate"/></h5> <xsl:if test="news_teaserimage"> <img src="{$media/umbracoFile}" width="70" height="70" style="float: left; padding-right: 10px; padding-bottom: 10px;" /> </xsl:if> <xsl:value-of select="news_shorttext" disable-output-escaping="yes"/> <xsl:if test="news_largetext"> <br /> <a style="float: left; clear: both; margin-top: -10px;" href="{umbraco.library:NiceUrl(@id)}"> Read more </a> </xsl:if> </li> </xsl:for-each> </ul>