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)) < 3">
<li><xsl:value-of select="{$Region}" /></li>
<xsl:if />
Любая помощь будет с благодарностью, прежде чем я образно выбросить SharePoint в окно!
Matt
1 ответ
Смотрите образец здесь: http://www.novolocus.com/2009/03/10/cqwp-show-the-first-item-in-each-group/
Это решило мою проблему в определении, находится ли следующий элемент в другой группе / категории.
НТН