SharePoint 2013博客:按作者排序帖子

时间:2014-03-05 13:18:16

标签: sorting xslt sharepoint filter blogs

我正在尝试制作一个自定义过滤器,对SharePoint 2013博客中的作者(用户)进行排序。我正在使用XSL dataview并将其导出到Web部件。我有一个名为Author的列,它从Created By获取信息。当我单击Web部件中的用户时,它会显示所有帖子而不是所选作者。 URL是mysite / default.aspx?Author = FirstName LastName“。

代码(default.aspx):

 <xsl:template match="/" xmlns:x="http://www.w3.org/2001/XMLSchema" xmlns:d="http://schemas.microsoft.com/sharepoint/dsp" xmlns:asp="http://schemas.microsoft.com/ASPNET/20" xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" xmlns:SharePoint="Microsoft.SharePoint.WebControls">
    <xsl:call-template name="dvt_1"/>
</xsl:template>

<xsl:template name="dvt_1">
    <xsl:variable name="dvt_StyleName">RepForm3</xsl:variable>
    <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[not(@Author.title=preceding-sibling::Row/@Author.title)]" />

    <xsl:call-template name="dvt_1.header">
        <xsl:with-param name="Rows" select="$Rows" />
    </xsl:call-template>

    <div class="blogRefineByAuthorContainer">
        <xsl:call-template name="dvt_1.body">
            <xsl:with-param name="Rows" select="$Rows"/>
        </xsl:call-template>
    </div>
    </xsl:template>

    <xsl:template name="dvt_1.header">
        <xsl:param name="Rows" />
        <div class="blogRefineByAuthorEveryAuthor"><a href="default.aspx">Everyone</a></div>
    </xsl:template>

    <xsl:template name="dvt_1.body">
        <xsl:param name="Rows"/>
        <xsl:for-each select="$Rows">
            <xsl:call-template name="dvt_1.rowview" />
        </xsl:for-each>
    </xsl:template>

    <xsl:template name="dvt_1.rowview">
        <div class="blogRefineByAuthorAuthorTitle">
            <a href="default.aspx?Author={@Author.title}"><xsl:value-of select="@Author.title" /></a>
        </div>
    </xsl:template>

有什么想法可能是什么?在名字和姓氏之间,URL中有一个空格,但我认为它没有任何意义。我已尝试使用%20而没有任何结果。

0 个答案:

没有答案