我有一个首页,我需要在网站的新闻栏目中显示所选的新闻项目,包括图片。
我开始试图对标准图像进行简单的修改,并且很快就无处可去。
我已经确认图像直接在节点上通过currentpage显示时有效,但以下内容不起作用:
<xsl:param name="currentPage"/>
<xsl:template match="/">
<xsl:variable name="mediaID" select="$currentPage/forsidenyhed/billede" />
<xsl:value-of select="$currentPage/forsidenyhed" />
<xsl:if test="string($mediaID) != ''">
<xsl:variable name="media" select="umbraco.library:GetMedia($currentPage/forsidenyhed/billede, false)" />
<xsl:if test="string($media) != ''">
<div class="forsidebillede">
<img src="{$media/umbracoFile}" alt="{$media/altText}" />
</div>
</xsl:if>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
输出值是包含我正在寻找的图像的节点的正确node-id。
编辑:对于任何遇到相同问题(umbraco cms)问题的人,我建议使用Razor宏代替XSLT。
答案 0 :(得分:0)
以下代码提供了我正在寻找的功能:
@inherits umbraco.MacroEngines.DynamicNodeContext
@using umbraco.MacroEngines
@{
dynamic settingsNode = Model.AncestorOrSelf();
dynamic searchPageNode = new DynamicNode(settingsNode.forsidenyhed);
dynamic mediaItem = new DynamicMedia(@searchPageNode.billede);
}
<img src="@mediaItem.umbracoFile">