【问题标题】:CQWP: Show n items per groupCQWP:每组显示 n 个项目
【发布时间】:2011-03-09 18:27:41
【问题描述】:

我在各个地方都看到过这个问题,但从未见过不涉及安装新 Web 部件(我无法做到)的可行解决方案。

我有一个文档库,其中包含具有特定文档类型的文档,其中包含“区域”的值。

我已设法更改 .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 扔出窗外之前,任何帮助都将不胜感激!

马特

【问题讨论】:

  • 这不是一个完整的问题。请指定完整(但尽可能小)的 XML 文档和完整(但尽可能小)想要的结果,并清楚地说明您希望转换做什么/实现。
  • 请提供您正在使用的 xslt,以便我修改并将正确的发送给您
  • 这是变得棘手的地方——因为它是 Sharepoint Web 部件的输出,我不完全确定 XML 是什么样子——这几乎就像试图盲目地编写 XSLT。再加上 SharePoint 调用三个不同的 XSLT 文件来处理其结果的不同部分,这使得尝试提供示例数据变得非常困难。我将离开并尝试弄清楚 SharePoint 对数据做了什么,然后分享一些测试数据。

标签: sharepoint xslt caml cqwp


【解决方案1】:

在此处查看示例:http://www.novolocus.com/2009/03/10/cqwp-show-the-first-item-in-each-group/

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

HTH

【讨论】:

  • 请更新链接,因为它已损坏。顺便说一句,不鼓励仅链接答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-22
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多