如何:在内容查询 Web 部件中显示自定义字段
上次修改时间: 2010年4月19日
适用范围: SharePoint Server 2010
"内容查询 Web 部件"可显示 Microsoft SharePoint Server 2010 网站中页面上的内容的动态视图。此 Web 部件运行一个可跨网站集中的列表和网站的查询,然后在页面上显示该查询的结果。例如,可以使用此 Web 部件显示网站中最新发布的五篇文章,不管这些文章的存储位置如何。
此 Web 部件具有两大功能:查询和显示。查询确定要显示的内容,而显示确定您希望如何设置内容的样式并显示内容。还可以附加规则,以使此 Web 部件中仅显示符合一组特定规则的某种类型的项。
在工具窗格中,可以执行下面的操作:
选择查询的范围。可以将此 Web 部件配置为跨整个网站集、从网站集中的特定网站或从某个特定列表查询项。
选择要从中查询项的列表类型。
指定 Web 部件应显示哪些内容类型。
选择其他筛选器以控制 Web 部件显示的内容。例如,可以使用一个筛选器,以仅显示由特定用户编写的"文章页"。
选择排序和分组选项,以确定项显示的顺序。
选择样式选项,以控制 Web 部件如何显示项和组标题。
默认情况下,控制"内容查询 Web 部件"的显示方式的 XSL 样式表将呈现由查询返回的各个项的"标题"、"说明"、"ImageUrl"和"LinkUrl"列(如果存在)。Web 部件将"ImageUrl"和"LinkUrl"列分别作为图像和超链接呈现。默认情况下,"内容查询 Web 部件"使用 XSL 样式表来呈现这些列。
若要查询自定义内容类型,并在 Web 部件中显示这些内容类型的特定列,则必须在 .webpart 文件中执行少量的自定义。
本主题介绍如何在 Web 部件的查询中包括其他列以及如何以编程方式指示 Web 部件将这些列重命名为默认 XSLT 转换所预期的名称,然后使用默认 XSLT 转换样式呈现这些列。
若要了解与此自定义有关的步骤,请考虑您具有一个包含以下列的 Knowledge Base Articles 内容类型的情况:
知识库标题(文本)
产品(文本)
版本(文本)
状态(选择)
将标题为"知识库文章"的文档库与包含知识库文章的内容类型关联。您需要在主页上的"内容查询 Web 部件"中显示知识库文章内容,在 Web 部件中将"标题"列显示为 Title 字段,并将"产品"列显示为 Description 字段。为此,请执行下列步骤。
在内容查询 Web 部件中显示自定义字段
将"内容查询 Web 部件"添加到页:
在"查询"部分,将"源"设置为显示来自"知识库文章"文档库(列表)的项。相应地设置列表类型和内容类型。
在"显示"部分,将"项目样式"设置为"标题和说明"。
在 Web 部件文件中编辑属性以显示自定义字段。若要访问 Web 部件的 .webpart 文件,请在 Web 部件的"编辑"菜单上,单击"导出"。
SharePoint Server 2010 使用对此 Web 部件可用的一组完整属性来生成 .webpart 文件。.webpart 文件是一个 XML 文件,可使用文本编辑器对其进行编辑。
在 .webpart 文件中,找到 CommonViewFields 属性。使用此属性可指定要在 Web 部件中显示的其他字段。添加列的内部名称和类型。
<property name="CommonViewFields" type="string">KB_x0020_Title,Text;Product,Text;</property>
备注
无法在此属性中使用列的显示名称。可通过选定列表或文档库中的列属性来查找内部列名称。右键单击列,然后单击"属性"。列的内部名称将在 Address (URL) 属性中出现在 'Field=' 之后。在知识库文章方案中,列为"知识库文章"和"产品",而其内部名称分别为 KB_x0020_Title 和 Product。
将这些内部列名称映射到 XSLT 转换中显示的列的 Title 和 Description。为此,请编辑 DataColumnRenames 属性。
<property name="DataColumnRenames" type="string">KB_x0020_Title,Title;Product,Description</property>
备注
默认 XSLT 转换会呈现以下四个字段:Title、Description、LinkUrl 和 ImageUrl。在 DataColumnRenames 属性中,验证指定的名称是否与 XSLT 转换中的名称匹配;即 Title、Description、LinkUrl 和 ImageUrl。
在本地保存 .webpart 文件。
在网页中,删除在步骤 1 中添加的"内容查询 Web 部件"。
导入 .webpart 文件并将 Web 部件添加到页面上。要导入 .webpart 文件,单击"页面",单击"添加 Web 部件",然后单击"导入"。浏览到 .webpart 文件,然后单击"上载"。
将 Web 部件拖动到页面中适当的区域。Web 部件应显示知识库"标题"和产品名称。
如果您希望除显示知识库标题和产品之外,还显示"状态"或"版本"列,请修改 XSLT 转换并为其他列添加呈现。
备注
上一示例说明如何在页面上编辑单个 Web 部件,以便在呈现的输出中包含自定义字段。不过,您也可以使用编辑器(如 Microsoft SharePoint Designer 2010)对 Web 部件进行更改。如果您需要自定义在页面布局上使用的 Web 部件,并自动在使用该布局创建的页面中包含自定义 Web 部件,则 SharePoint Designer 2010 是一个很有用的工具。还可以将自定义 Web 部件添加到 Web 部件库,这样便能将它们拖放到新页面的 Web 部件区域中。