Я видел этот вопрос в разных местах, но никогда не видел работоспособного решения, которое не требует установки новой веб-части (чего я не могу сделать).
У меня есть библиотека документов, которая содержит документы с определенным типом документа, который включает значение для «региона».
Мне удалось изменить параметр «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)) < 3">
<li><xsl:value-of select="{$Region}" /></li>
<xsl:if />
Любая помощь будет принята с благодарностью, прежде чем я фигурально выброшу SharePoint из окна!
Мэтт