由于最近想用SHAREPOINT做知识库系统,有大量使用内容查询web部件。但是sharepoint 默认的内容查询web部件在主页上是只显示标题,不能显示创建时间。经过翻阅大量的资料,发现网上资料都不全,自己整理出完整的资料,以给大家参考学习。
显示效果如下:
具体操作步骤:
1. 导出"内容查询Web部件.webpart",并做好备份,
点击Web Part编辑下拉按钮,导出如下图所示:
2. 用SPD或者记事本打开”内容查询Web部件.webpart”,找到CommonViewFields 和DataColumnRenames这两个属性,然后编辑并保存:
修改后代码如下:
<property name="CommonViewFields" type="string">Title,Text;Modified,DateTime</property>
<property name="DataColumnRenames" type="string">Title;Modified</property>
3.修改.ItemStyle.xsl样式文件来呈现和格式化数据.
打开 sharepoint designer ->打开你的网站-〉导航至style library下的XSL Style Sheets下
打开ItemStyle.xsl文件,将下列代码copy至任意一个</xsl:template>标签后面。
保存和签入itemstyle.xsl文件后,编辑网页,点内容查询web部件的编辑-〉修改共享web部件,导航至显示文稿-〉打开项目样式下拉菜单,里面有个样式名字叫ShowTime,选择它,确定,功能实现.
代码如下:
<xsl:template name="ShowTime" match="Row[@Style='ShowTime']" 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="SafeImageUrl">
<xsl:call-template name="OuterTemplate.GetSafeStaticUrl">
<xsl:with-param name="UrlColumnName" select="'ImageUrl'"/>
</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>
<xsl:variable name="LinkTarget">
<xsl:if test="@OpenInNewWindow = 'True'" >_blank</xsl:if>
</xsl:variable>
<div class="link-item">
<xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/>
<table style="width: 95%">
<tr>
<td><img src="_layouts/images/square.gif"/></td>
<td style="width: 60%">
<a href="{$SafeLinkUrl}" target="_blank" title="{@LinkToolTip}">
<xsl:value-of select="$DisplayTitle"/>
</a>
</td>
<td align="left" style="width: 20%">
<div class="description">
<xsl:value-of select="@Author" />
</div>
</td>
<td align="left" style="width: 20%">
<div class="description">
<xsl:value-of select="substring(@Created,1,10)" />
</div>
</td>
</tr>
</table>
</div>
</xsl:template>