我在SharePoint 2007中的增强型CQWP上添加了一些额外的列,并尝试从我的自定义ItemStyle.xsl中应用样式。我想把我的列放到一个表中,但是每次我在XSL中创建样式时,我都会遇到Web部分的问题:
“无法显示此Web部件。要解决此问题,请在与Windows SharePoint Services兼容的HTML编辑器(如Microsoft Office SharePoint Designer)中打开此网页。如果问题仍然存在,请与Web服务器管理员联系。” p>
当我删除我的风格时,它会回到显示结果。我有我已经创建的其他样式,它们工作得非常好,但是当我尝试创建表格时,我遇到了问题。这是我的新样式代码:
<xsl:template name="jonstyle" match="Row[@Style='jonstyle']" mode="itemstyle">
<xsl:param name="CurPos" />
<xsl:param name="LastRow" />
<xsl:variable name="tableStart">
<xsl:if text="$CurPos = 1">
<![CDATA[
<table>
<tr>
<td align="left">
<b>Title</b>
</td>
<td align="left">
<b>Company</b>
</td>
<td align="left">
<b>Title</b>
</td>
</tr>]]>
</xsl:if>
</xsl:variable>
<xsl:variable name="tableEnd">
<xsl:if test="$CurPos = $LastRow">
<![CDATA[</table>]]>
</xsl:if>
</xsl:variable>
<xsl:value-of select="$tableStart" disable-output-escaping="yes" />
<tr>
<td>
<div id="Project">
<xsl:value-of select="@Project" />
</div>
</td>
<td>
<div id="Description">
<xsl:value-of select="@Description" />
</div>
</td>
<td>
<div id="Jons">
<xsl:value-of select="@jons" />
</div>
</td>
</tr>
<xsl:value-of select="$tableEnd" disable-output-escaping="yes" />
</xsl:template>
注意:我已经确定我从Main.xsl文件传递了所需的var(即我的CurPos和LastPos:
<xsl:template name="OuterTemplate.CallItemTemplate">
<xsl:param name="CurPosition" />
<xsl:param name="LastRow" />
<xsl:choose>
<xsl:when test="@Style='TableViewProjects'">
<xsl:apply-templates select="." mode="itemstyle">
<xsl:with-param name="CurPos" select="$CurPosition" />
<xsl:with-param name="LastRow" select="$LastRow" />
</xsl:apply-templates>
我还在CommonFieldViews中添加了我的额外列,它们在其他视图样式中正常工作。
我尝试了几种不同的制作表的方法,但都给了我同样的问题。有人可以帮我这个吗?
干杯!