CQWP: показать n элементов на группу
-
09-10-2019 - |
Вопрос
Я видел это спросил в разных местах, но никогда не видел работоспособное решение, которое не включает в себя устанавливать новую веб-часть (которую я не могу сделать).
У меня есть библиотека документов, которая содержит документы с определенным доцитом, который включает в себя значение для «региона».
Мне удалось изменить параметр «CustomViewfields» в файле .webpart и enterquerymerymain.xsl, itemsstyle.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 Out в окне!
Матовый
Решение
Смотрите образец здесь: http://www.novolocus.com/2009/03/10/cqwp-show-fthe-first-item-in-eacheach-group/
Он решил свою проблему в определении, если следующий товар уже находится под другой группой / категорией.
Емкость