Das Content Query WebPart bietet dem Nutzer die Möglichkeit “mal schnell” Inhalte aus einer bestimmten Site oder Liste auf einer Seite zu publizieren. Dabei besteht die Möglichkeit aus diversen Anzeige-Modi zu wählen. Sollen allerdings Inhalte aus einer Richtext-HTML-Spalte angezeigt werden, beispielsweise die Description einer Posts Liste, wird das HTML nicht aufgelöst.

Die Lösung dieses Problems ist die Anpassung der Itemstyle.xsl, die sich in der StyleLibrary/Formatbibliothek befindet. Um im Edit-Mode des CQWPs einen zusätzlichen Item Style zu haben, der HTML nicht als Text interpretiert, muss in der Itemstyle.xsl ein Template (zum Beispiel LargeTitle) kopiert und angepasst werden.
<xsl:template name="LargeTitle" match="Row[@Style='LargeTitle']" mode="itemstyle"> ... </xsl:template>
Hier sollten nun die Attribute name und match entsprechend verändert werden (zum Beispiel LargeTitle durch NewLargeTitle ersetzen). Damit das HTML des Blogeintrags, also der Description Spalte, interpretiert wird und nicht als Text ausgegeben wird, muss nun noch die Ausgabe des Description Values von
<div> <xsl:value-of select="@Description" /> </div>
in
<div style="padding-left:5px; color:#333333;"> <xsl:value-of select="@Description" disable-output-escaping="yes"/> </div>
geändert werden. Dabei ist vorallem das Attribut disable-output-escaping=”yes” wichtig, welches eine Escape-freie Ausgabe liefert, also die RichHtml-Tags interpretiert und nicht einfach ausgibt. (mehr Informationen hier)
Die Ausgabe des Content Query WebParts sollte nun ungefähr so aussehen.
