CQWP - Как заставить CommonViewFields отображать все поля

Я использую CQWP(веб-часть запроса контента), которая извлекает список календаря, и я хочу отфильтровать свой результат (customqueryoverride - usign CAML). Однако некоторые поля из списка календаря скрыты от меня.

Я хочу знать все поля в моем списке календаря.

Решение, которое я придумал, состояло в том, чтобы использовать XSL для преобразования идентификаторов, чтобы отобразить все мои свойства и их значения, и добавить все поля в свойство CommonViewFields.

<property name="CommonViewFields" type="string">
  EventDate,DateTime;EndDate,DateTime;fRecurrence,Boolean
</property> 

У меня проблема в том, что я не знаю имени поля... Какой-нибудь подстановочный знак, который я мог бы использовать?(%%% а также *** не работает) Любой другой способ получить все имена полей будет работать тоже.

Примечание: это понимать и играть с повторяющимися событиями.

3 ответа

Чтобы напечатать все доступные имена полей в CQWP, можно использовать следующий XSLT:

<xsl:for-each select="@*">
            Field Name :<xsl:value-of select="name()" />
</xsl:for-each>

Он должен быть помещен в ItemStyle.xsl внутри шаблона, который используется для визуализации элемента.

Используйте инструмент SharePoint 2010 Manager (http://spm.codeplex.com/). Он дает вам множество деталей о вашей платформе SharePoint на всех уровнях, вплоть до полей в списке. Он предоставит вам все детали поля, включая внутреннее имя, которое вам нужно использовать для CommonViewFields.

Используйте тег для этого, прокомментируйте основной шаблон в основном XSL и добавьте это как шаблон match="/":

<xsl:template match="/ ">  
<textarea cols="50" rows="15" dir="ltr">
   <xmp><xsl:copy-of select="*"/></xmp> 
</textarea>

Теперь CQWP будет отображать полный ответ XML-запрос

Другие вопросы по тегам