SharePoint 2010 CQWP和托管Metada列
-
16-10-2019 - |
题
我正在尝试在SharePoint 2010 Server上使用内容查询Web部分,并在类型“托管元数据”的网站列上过滤。这些列未显示int firter配置中的可用列。有人知道为什么吗?这是一个错误/设计吗?
解决方案
我终于通过在属性datamappings和dataMappingViewFields中设置了托管元数据字段到我的XSLT。将它们设置在CommunViewFields中不起作用。我还必须定义ListUrl和ListName。
尽管我不需要使用此方法列表的GUID,但我仍然需要用于托管元数据字段的GUID。
因此,基本碎片就是这样:
<property name="WebUrl" type="string">~sitecolection/someplace/myweb</property>
<property name="ListUrl" type="string">~sitecolection/someplace/myweb</property>
<property name="ListName" type="string">Pages</property>
<property name="DataMappings" type="string">NameUsedInXSLT:{guid-that-belongs-to-managed-metadata-field},NameOfManagedMetadataField,TaxonomyFieldMulti;</property>
<property name="DataMappingViewFields" type="string">{guid-that-belongs-to-managed-metadata-field},TaxonomyFieldTypeMulti;</property>
就是这样。
我找不到任何方法不将GUID用于托管元数据字段。
而且您仍然可以指定在属性公共视图中使用的其他非管理非管理的列列
其他提示
我不确定,但是我很确定托管元数据列就像多选择列类型一样 - 它可以存储多个值,因此不能在CQWP中过滤。
(如果考虑一下,数据库查询必须仅在序列化到数据库字段的一个值的一部分上匹配,因此它确实很慢)
我想... ...不能说我已经检查过。
托管元数据列可以在CQWP中使用,直到选择在定义站点列下定义后才允许多个值。一旦选择了它们以允许多个值,CQWP将把它们视为Mulitple Choice列类型,并且不会在“允许列”下拉列表下显示它们。
当我指定特定的库/列表时,我能够在过滤器下拉列表中显示“托管元数据”列。
It doesn't show up when any of the following source is selected which is frustrating, alright.
- 显示所有站点的项目
- 显示以下网站和所有子站点的项目
我总是让我的MM站点列不重视,但是在使用它们的库中,我将其变为多价。因此,在选择值时,CQWP总是在这种情况下工作
嗯,我多次使用了托管元数据列作为CQWP的一部分。它实际上是CQWP的新功能之一。
我认为您在CQWP中的查询可能有一些不正确的内容,您是否看到所有其他列,因为您看不到托管元数据列似乎很奇怪。
干杯