很抱歉,本來(lái)是有截圖的,可以讓過(guò)程看得更清楚些,但可能由于機(jī)器的原因,圖片始終無(wú)法上傳.所以只能寫文字版了!
??? 在
Office SharePoint Server 2007
中的內(nèi)容查詢
Web Part
只支持單個(gè)列進(jìn)行顯示(默認(rèn)為標(biāo)題列),即使將列表中的列設(shè)置為富文本格式在內(nèi)容查詢
Web Part
中也顯示為不帶樣式的文本。下面的方法將實(shí)現(xiàn)在內(nèi)容查詢
Web Part
中顯示我們添加的列并使用樣式。
1. ?????? 為通知列表添加自定義列
在本例中我們?yōu)橥ㄖ砑拥淖远x欄名稱為“顯示標(biāo)題”,多行文本;富文本類型。
* 關(guān)鍵要點(diǎn):如果自定義欄的名稱為非英文,為了避免 SPField.InternalName 屬性被編碼需要在創(chuàng)建時(shí)先用英文名稱代替,并須牢記該名稱,我們?cè)诤竺娴男薷木迷撚⑽拿Q。創(chuàng)建完成后我們?cè)賹诘拿Q修改為中文,此時(shí) SPField.InternalName 屬性并不會(huì)被修改,而維持原命名的英文名稱.
2. ?????? 將內(nèi)容查詢 WebPart 導(dǎo)出并修改
在頁(yè)面中加入一個(gè)內(nèi)容查詢 WebPart ,將其查詢?cè)O(shè)置為我們剛才所修改的通知列表。通過(guò)其上下文菜單將其導(dǎo)出成文件。
我們用記事本打開保存到本地磁盤的 .webpart 文件,找到 <property name="CommonViewFields" /> ,將其修改為:
<property name="CommonViewFields" type="string">
CustomTitle
,
RichText
;</property>
其中的
CustomTitle
為我們上一步中添加的自定義欄的名稱(第一次輸入的英文名稱),
RichText
為該欄目的類型,保存該修改。
3.
??????
修改
XSL
文件
我們用 SharePoint Designer 打開網(wǎng)站 ( 如 http://moss:8000) ,在文件夾列表中找到 \Style Library\XSL Style Sheets 目錄,將會(huì)看到 ItemStyle.xsl 、 ContentQueryMain.xsl 、 SummaryLinkMain.xsl 三個(gè)文件,我們將會(huì)對(duì)其進(jìn)行修改
? ????????????????????????????????????????????? 打開 ContentQueryMain.xsl 找到 <xsl:template name="OuterTemplate.GetTitle"> 將該 template 定義復(fù)制,將復(fù)本的名稱更改為 OuterTemplate.GetCustomTitle ,相應(yīng)的修改如下:
<xsl:template name="OuterTemplate.GetCustomTitle">
??????? <xsl:param name="CustomTitle" select="@CustomTitle"/>
??????? <xsl:param name="UrlColumnName"/>
??????? <xsl:if test="string-length($CustomTitle) != 0">
??????????? <xsl:value-of select="$CustomTitle"/>
??????? </xsl:if>
??????? <xsl:if test="string-length($CustomTitle) = 0">
??????????? <xsl:if test="$UseCopyUtil = 'True'">
??????????????? <xsl:value-of select="$BlankTitle" />
??????????? </xsl:if>
??????????? <xsl:if test="$UseCopyUtil != 'True'">
??????????????? <xsl:call-template name="OuterTemplate.GetPageNameFromUrl">
??????????????????? <xsl:with-param name="UrlColumnName" select="$UrlColumnName"/>
??????????????? </xsl:call-template>
?? ????????? </xsl:if>
??????? </xsl:if>
</xsl:template>
保存修改。
? ?? 打開 SummaryLinkMain.xsl 文件找到 <xsl:template name="OuterTemplate.GetTitle"> 將該 template 復(fù)制,將復(fù)本的名稱更改為 GetCustomTitle ,相應(yīng)的修改如下:
??? <xsl:template name="OuterTemplate.GetCustomTitle">
??????? <xsl:param name="CustomTitle" select="@CustomTitle"/>
??????? <xsl:value-of select="$CustomTitle"/>
</xsl:template>
保存修改。
? ? 打開 ItemStyle.xsl 文件,我們需要在該文件中加入一個(gè)樣式定義
找到 <xsl:template name="Default" match="*" 將這個(gè)名為 Default 的 template 復(fù)制一份,將 name 屬性修改為 AnnouceList , match 屬性修改為 Row[@Style=’AnnouceList’] 。并在 variable 中加入在上一步驟中加入的自定義欄的定義,并命名為 CustomTitle (見下文示例)。
修改后的 template 定義為:
??????? <xsl:template name="AnnouceList" match="Row[@Style= AnnouceList]" 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="CustomTitle">
???????????
<xsl:call-template name="OuterTemplate.GetCustomTitle">
???????????????
<xsl:with-param name="Title" select="@CustomTitle"/>
???????????????
<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 id="linkitem" class="item">
??????????? <xsl:if test="string-length($SafeImageUrl) != 0">
??????????????? <div class="image-area-left">
??????????????????? <a href="{$SafeLinkUrl}" target="{$LinkTarget}">
??????????????????????? <img class="image" src="{$SafeImageUrl}" alt="{@ImageUrlAltText}" />
??????????????????? </a>
??????????????? </div>
??????????? </xsl:if>
??????? ???? <div class="link-item">
??????????? <xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/> ????
??????????? <table style="width:100%">
??????????? ???????? <tr>
??????????? ?????????????????? <td style="width:100%" class="itemlink-item">
??????????? ??????????????????????????? <a href="{$SafeLinkUrl}" mce_href="{$SafeLinkUrl}" target="{$LinkTarget}" title="{@LinkToolTip}">
??????????? ???????????????????????????????????? <xsl:value-of select="$CustomTitle" disable-output-escaping = "yes"/>
??????????? ??????????????????????????? </a>
??????????? ?????????????????? </td>
??????????? ???????? </tr>
??????????? </table>
???????????? </div>
??????? </div>
</xsl:template>
? 保存修改。
打開網(wǎng)站集站點(diǎn)管理 - 》 web 部件,將修改的 .webpart 文件上傳 ,將該 webpart 名稱設(shè)置為“公告欄”.
5. ?????? 將新加入的 webpart 重新加入頁(yè)面,修改其 webpart 屬性。
將項(xiàng)目樣式設(shè)置為我們?cè)谏弦徊降? XSL 定義中的樣式" AnnouceList "。點(diǎn)擊“確定”按鈕。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
