自定义内容查询Web部件(CQWP)

内容查询Web部件(Content Query Web Part,简称CQWP)是SharePoint中一个非常实用的组件,它允许从网站集合中的不同列表或库中检索内容,并以想要的方式显示。本文将介绍如何在SharePoint 2010中自定义CQWP,以展示子站点中的供应商列表列,而无需编写任何代码或进行部署。

步骤一:在父站点首页插入内容查询Web部件

要开始自定义CQWP,首先需要在SharePoint2010的父站点首页插入该Web部件。打开SharePoint 2010的首页,点击“站点操作”,然后选择“编辑页面”。页面将进入编辑模式。在编辑工具中选择“插入Web部件”,点击“内容汇总”类别,然后选择“内容查询”并点击“添加”按钮。

步骤二:自定义内容查询Web部件以显示子站点的供应商列表列

编辑Web部件属性,在查询部分,选择“显示以下列表中的项目”,点击浏览按钮,导航到子站点并选择供应商自定义列表。现在选择以下附加设置,根据需求进行设置,并点击“确定”以保存对CQWP的更改,它将在Web部件中显示标题列。

步骤三:更新内容查询Web部件属性以包含供应商列表列

在CQWP中点击并选择“导出”选项,将.webpart文件保存到桌面位置。打开导出的.webpart文件,在编辑属性之前,请参考以下说明。所有列名应指定为SharePoint内部名称。SharePoint字段的内部名称与显示名称不同。例如,如果列名包含任何空格,内部名称将用_x0020_编码。这些字段中的值非常敏感,错误位置的空格或分号会导致它失效。不要在文件中的标签之间包含任何额外的空格。

步骤四:修改样式库中的Itemstyle.xsl文件以包含供应商列表字段

编辑Web部件,导航到样式部分以查看样式属性,它将类似于以下屏幕截图。在这里,项目样式下拉菜单将显示所有默认样式,需要通过以下步骤进行自定义。CQWP使用位于网站集合的样式库中的ItemStyle.xsl文件。通过编辑ItemStyle.xsl文件,可以添加自定义项目样式,可以从CQWP中选择以显示所有供应商列表字段及其标题。

步骤五:更改CQWP样式以渲染多列标题

打开站点的首页,点击“站点操作”,然后点击“编辑页面”。现在在CQWP上点击编辑,然后点击“修改共享Web部件”,展开“呈现”类别。在样式部分选择“VendorCustomStyle”从项目样式框中。现在点击Web部件窗格中的“确定”以应用自定义样式。现在内容查询Web部件使用VendorCustomStyle并渲染多列标题。

以下是使用标题的输出示例。

<xsl:template name="VendorCustomStyle" match="Row[@Style='VendorCustomStyle']" mode="itemstyle"> <html> <table width="100%"> <xsl:if test="count(preceding-sibling::*)=0"> <tr> <td width="8%" valign="top"><div class="item"><b>供应商ID</b></div></td> <td width="12%" valign="top"><div class="item"><b>供应商名称</b></div></td> <td width="50%" valign="top"><div class="item"><b>供应商描述</b></div></td> <td width="10%" valign="top"><div class="item"><b>供应商国家</b></div></td> <td width="10%" valign="top"><div class="item"><b>供应商日期</b></div></td> <td width="10%" valign="top"><div class="item"><b>创建者</b></div></td> </tr> </xsl:if> <tr> <td width="8%" valign="top"><div class="item"><xsl:value-of select="@VendorID"/></div></td> <td width="12%" valign="top"><div class="item"><xsl:value-of select="@Title"/></div></td> <td width="50%" valign="top"><div class="item"><xsl:value-of select="@Vendor_x005F_x0020_Description" disable-output-escaping="yes"/></div></td> <td width="10%" valign="top"><div class="item"><xsl:value-of select="@Vendor_x005F_x0020_Country"/></div></td> <td width="10%" valign="top"><div class="item"><xsl:value-of select="@Vendor_x005F_x0020_Date"/></div></td> <td width="10%" valign="top"><div class="item"><xsl:value-of select="@Author"/></div></td> </tr> </table> </html> </xsl:template>
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485