CQWP:每组显示n个项目

时间:2010-12-12 14:46:10

标签: sharepoint xslt caml cqwp

我已经在各个地方看到了这个问题,但从未见过一个可行的解决方案,不涉及安装新的网页部分(我无法做到)。

我有一个文档库,其中包含具有特定doctype的文档,其中包含“region”的值。

我已设法更改.webpart文件和ContentQueryMain.xsl,Itemstyle.xsl,HeaderStyle.xsl文档中的“CustomViewFields”参数,并使用CQWP的分组功能生成以下输出:

<div class="myDocuments">    
 <div class="group">
  <h2>My region</h2>
  <ul>
   <li>Document 1</li>
   <li>Document 2</li>
   <li>Document 3</li>
   <li>Document 4</li>
  </ul>
 </div>
 <div class="group">
  <h2>My other region</h2>
   <ul>
    <li>Document 1</li>
    <li>Document 2</li>
    <li>Document 3</li>
    <li>Document 4</li>
   </ul>
  </div>
</div>

这一切都很好,但我只希望按日期排序每个地区最多显示三个文件。

我无法找到任何可以实现此目的的CAML查询代码,所以我一直在考虑使用if语句在为当前区域创建三个后删除任何值 - 但不知道是什么CQWP正在导出的XML证明是困难的。

目前看来情况如此:

<xsl:if test="(count(preceding-sibling::Region = @Region)) &lt 3">
  <li><xsl:value-of select="{$Region}" /></li>
<xsl:if />

在我将SharePoint推出窗外之前,我们将非常感谢任何帮助!

马特

1 个答案:

答案 0 :(得分:1)

请参阅此处的示例:http://www.novolocus.com/2009/03/10/cqwp-show-the-first-item-in-each-group/

它解决了我确定下一个项目是否已经在另一个组/类别下的问题。

HTH