I am trying to create a webpart that would take blog posts from subsites under site and roll them up. I found a blog that describes exactly what I am trying to achieve here. After following these steps:
- Add CQWP to page and set content type values
Export the webpart and modify CommonViewFields to add fields
<property name="CommonViewFields" type="string">Title, Text;PublishedDate, DateTime;Body, RichHTML;Author, Text;NumComments, Lookup;PostCategory, Lookup;</property>
Save, upload and select the webpart again
Modify ItemStyle.xsl from style library to include namespace:
xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
and new template:
<xsl:template name="BlogPost" match="Row[@Style='BlogPost']" mode="itemstyle"> <xsl:variable name="SafeLinkUrl"> <xsl:call-template name="OuterTemplate.GetSafeLink"> <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/> </xsl:call-template> </xsl:variable> <xsl:variable name="DisplayTitle"> <xsl:call-template name="OuterTemplate.GetTitle"> <xsl:with-param name="Title" select="@Title"/> <xsl:with-param name="UrlColumnName" select="'LinkUrl'"/> </xsl:call-template> </xsl:variable> <div class="custom_posttitle"> <xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href="{$SafeLinkUrl}" title="{@LinkToolTip}"> <xsl:if test="$ItemsHaveStreams = 'True'"> <xsl:attribute name="onclick"> <xsl:value-of select="@OnClickForWebRendering"/> </xsl:attribute> </xsl:if> <xsl:if test="$ItemsHaveStreams != 'True' and @OpenInNewWindow = 'True'"> <xsl:attribute name="onclick"> <xsl:value-of disable-output-escaping="yes" select="$OnClickTargetAttribute"/> </xsl:attribute> </xsl:if> <xsl:value-of select="$DisplayTitle"/> </a> </div> <xsl:variable name="StartDate"> <xsl:value-of select="ddwrt:FormatDateTime(string(@PublishedDate), 1033, 'g')" /> </xsl:variable> <div class="custom_date"> <xsl:value-of select="$StartDate" /> </div> <div class="custom_description"> <xsl:value-of select="@Body" disable-output-escaping="yes" /> </div> <div> <table class="custom_postdetails" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="custom_author"> By: <xsl:value-of select="@Author" /> | </td> <td class="custom_comments"> Comments: <xsl:value-of select="@NumComments" /> | </td> <td class="custom_category"> Category: <xsl:value-of select="@PostCategory" /> </td> </tr> </table> </div>
Finally return to page and edit webpart; when i try I get an error, can't edit webpart. Now it seems I cannot edit content query webparts through browser at all without getting this error.
This is on my dev system so I am running under system account which is owner of everything. The ItemStyle is checked in and published, and there isn't an option for approval (which i am pretty sure means that as owner when I publish, there is no approval).
Yeah I know that I am asking for things like this when I grab some sample from online and post, but I am trying to learn this approach and I am simply wondering if someone might know why this is happening because of something I missed?
Always appreciated! Thanks!