我正在使用SharePoint 2010和内容查询Web部件从SharePoint列表中输出日期列表。此列表的显示由名为ItemStyle.xsl
的XSL样式表控制我在一般外观方面取得了进展,但现在想要将其检索的一个字段添加为背景/样式属性。
我认为我遇到的问题与xsl值有关 - 选择在标记的末尾有一个右括号,因此无意中关闭了我的DIV。有人可以查看下面的代码,并建议在开放DIV中打印CategoryColour的替代方法。
我偶尔也会在html中插入“xmlns:ddwrt”,我希望至少能看到“style:background ....”
非常感谢
<xsl:stylesheet
version="1.0"
exclude-result-prefixes="x d xsl msxsl cmswrt"
xmlns:x="http://www.w3.org/2001/XMLSchema"
xmlns:d="http://schemas.microsoft.com/sharepoint/dsp"
xmlns:cmswrt="http://schemas.microsoft.com/WebParts/v3/Publishing/runtime"
xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<!-- PrettyCal Template -->
<xsl:template name="PrettyCal" match="Row[@Style='PrettyCal']" mode="itemstyle">
<xsl:variable name="Start"><xsl:value-of select="@EventDate" /></xsl:variable>
<xsl:variable name="End"><xsl:value-of select="@EndDate" /></xsl:variable>
<xsl:variable name="AllDay"><xsl:value-of select="@AllDayEvent" /></xsl:variable>
<xsl:variable name="Location"><xsl:value-of select="@EventLocation" /></xsl:variable>
<xsl:variable name="CategoryColour"><xsl:value-of select="@EventCategoryColour" /></xsl:variable>
<div class="upcoming-events" style="background: {CategoryColour}" ><xsl:value-of select="$CategoryColour"/>
<h2 class="event-title">
<a>
<xsl:attribute name="onClick">
javascript:SP.UI.ModalDialog.showModalDialog({ url: '/services/marketing/Lists/College%20Calendar/DispForm.aspx?ID=<xsl:value-of select="@ID" />', title: 'Event Details' }); return false;
</xsl:attribute>
<xsl:value-of select="@Title" /></a></h2>
</div>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:8)
你有:
<div class="upcoming-events" style="background: {CategoryColour}" ><xsl:value-of select="$CategoryColour"/>
你真的想要:
<div class="upcoming-events" style="background: {$CategoryColour}" ><xsl:value-of select="$CategoryColour"/>
答案 1 :(得分:2)
您在变量$
前面遗漏了CategoryColour
。