CQWP: показать n элементов в группе

Я видел этот вопрос в разных местах, но никогда не видел работоспособного решения, которое не требует установки новой веб-части (чего я не могу сделать).

У меня есть библиотека документов, которая содержит документы с определенным типом документа, который включает значение для «региона».

Мне удалось изменить параметр «CustomViewFields» в файле .webpart и документах ContentQueryMain.xsl, Itemstyle.xsl, HeaderStyle.xsl и использовать функцию группировки 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 для удаления любых значений после того, как для текущего региона было создано три, но не зная, что такое XML, который Экспорт CQWP оказывается сложным.

На данный момент дела обстоят так:

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

Любая помощь будет принята с благодарностью, прежде чем я фигурально выброшу SharePoint из окна!

Мэтт


person Matt Bunce    schedule 12.12.2010    source источник
comment
Это не полный вопрос. Пожалуйста, укажите полный (но как можно меньший) XML-документ и полный (но как можно меньший) желаемый результат, а также четко укажите, что вы хотите сделать/достичь преобразованием.   -  person Dimitre Novatchev    schedule 12.12.2010
comment
Пожалуйста, предоставьте xslt, который вы используете, чтобы я мог изменить и отправить вам правильный   -  person Ashutosh Singh-MVP SharePoint    schedule 12.12.2010
comment
Вот тут-то и возникает сложность — поскольку это вывод веб-части Sharepoint, я не совсем уверен, как выглядит XML — это почти как пытаться написать XSLT вслепую. В сочетании с тем фактом, что SharePoint вызывает три разных XSLT-файла для обработки разных разделов своего результата, это очень затрудняет попытку предоставить образцы данных. Я уйду и попытаюсь выяснить, что SharePoint делает с данными, а затем поделюсь тестовыми данными.   -  person Matt Bunce    schedule 18.12.2010


Ответы (1)


См. образец здесь: http://www.novolocus.com/2009/03/10/cqwp-show-the-first-item-in-each-group/

Это решило мою проблему при определении того, находится ли следующий элемент уже в другой группе/категории.

ХТН

person tousle    schedule 09.03.2011
comment
пожалуйста, обновите ссылку, так как она не работает. Кстати, ответы только по ссылкам не приветствуются. - person Saksham; 24.07.2015