我是Umbraco的新手,所以请原谅我是否遗漏了一些明显的东西。我已经浏览了互联网,但我无法找到解决问题的方法。
我主要使用Umbraco.TV视频来指导我完成这个,特别是这个:http://umbraco.com/help-and-support/video-tutorials/umbraco-fundamentals/datatypes/using-content-and-media-pickers/TVPlayer。
其他视频和教程成功地帮助我设置了响应式导航和子导航,但在这个问题上,我被卡住了。
我正在构建一个需要多个CTA的网站。这些文本需要由没有编码经验的人输入,因此我设置了包含RichText Editor字段的文档类型,以便他们输入所需的文本和图像。
标签:通用属性
H2 (h2), Type: Richtext editor
Article Description (articleDescription), Type: Richtext editor
Article Feature Image (articleFeatureImage), Type: Media Picker
Label (label), Type: Label
在模板中,我插入了一个Umbraco页面字段,该字段引用了相关的文档类型:
<div class="rel-art">
<umbraco:Item field="relatedContent1" runat="server" />
</div>
但是,当我在浏览器中查看该页面时,我在页面上的所有内容都是文档类型ID:
<div class="rel-art"> 1202 </div>
我尝试过将其设置为xslt:
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:param name="currentPage"/>
<xsl:template match="/">
<xsl:value-of select="umbraco.library:GetXmlNodeById($currentPage/data [@alias = 'relatedContent1'])/@nodeName"/>
</xsl:template>
</xsl:stylesheet>
我的&#34;可视化XSLT&#34;按钮不起作用,所以我不知道此时会说些什么。我没有得到模态窗口。 (我正在远程工作到我的客户系统,这可能会产生影响。)
现在,如果我将附带的宏插入我的模板中:
<div class="rel-art">
<umbraco:Macro Alias="RelatedContent1" runat="server"></umbraco:Macro>
</div>
导致我在查看页面时甚至没有显示ID:
<div class="rel-art"> </div>
我尝试过使用和不使用@nodeName,但没有区别。
发生了什么事?我究竟做错了什么?我唯一能想到的是,在将其唯一的属性类型从RichText Editor更改为Textstring之前,我在页面上显示另一个文档类型时遇到了一些麻烦。但我也尝试过这个,但没有任何区别。
我正在使用Umbraco v4.9,如果有帮助的话。
感谢任何帮助!
谢谢! :-)
答案 0 :(得分:0)
三分,
目前还不是很清楚,但我注意到返回的值是'1202'(有空格)。你能否用静态值检查你的代码,即
<xsl:value-of select="umbraco.library:GetXmlNodeById(1202)/@nodeName"/>
如果这样可以正常工作,那么问题就在于你的'relatedContent1'。您可以修剪其值并在GetXmlNodeById函数中使用它。
答案 1 :(得分:0)
好像您正在尝试显示使用媒体选择器选择的图像。如果是这种情况,那么您应该使用GetMedia方法:
<xsl:value-of select="umbraco.library:GetMedia($currentPage/data[@alias='relatedContent1'], 'false')/data[@alias='umbracoFile']" />
How to use umbraco.library GetMedia in XSLT查看Lee Kelleher以获取更多详细信息,并获取更加简单的媒体获取方法。