私の意図は、ニュースのリストを作成することであり、一部のニュースにはサムネイル (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>