日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

修改MOSS2007内容查询部件实现自定义格式显示

發布時間:2024/4/17 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 修改MOSS2007内容查询部件实现自定义格式显示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

很抱歉,本來是有截圖的,可以讓過程看得更清楚些,但可能由于機器的原因,圖片始終無法上傳.所以只能寫文字版了!
??? 在
Office SharePoint Server 2007中的內容查詢Web Part只支持單個列進行顯示(默認為標題列),即使將列表中的列設置為富文本格式在內容查詢Web Part中也顯示為不帶樣式的文本。下面的方法將實現在內容查詢Web Part中顯示我們添加的列并使用樣式。

1.?????? 為通知列表添加自定義列

在本例中我們為通知添加的自定義欄名稱為“顯示標題”,多行文本;富文本類型。

*關鍵要點:如果自定義欄的名稱為非英文,為了避免SPField.InternalName屬性被編碼需要在創建時先用英文名稱代替,并須牢記該名稱,我們在后面的修改均用該英文名稱。創建完成后我們再將欄的名稱修改為中文,此時SPField.InternalName屬性并不會被修改,而維持原命名的英文名稱.

2.?????? 將內容查詢WebPart導出并修改

在頁面中加入一個內容查詢WebPart,將其查詢設置為我們剛才所修改的通知列表。通過其上下文菜單將其導出成文件。

我們用記事本打開保存到本地磁盤的.webpart文件,找到<property name="CommonViewFields" />,將其修改為:

<property name="CommonViewFields" type="string">CustomTitle,RichText;</property>其中的CustomTitle為我們上一步中添加的自定義欄的名稱(第一次輸入的英文名稱),RichText為該欄目的類型,保存該修改。

3.?????? 修改XSL文件

我們用SharePoint Designer打開網站(http://moss:8000),在文件夾列表中找到\Style Library\XSL Style Sheets目錄,將會看到ItemStyle.xslContentQueryMain.xslSummaryLinkMain.xsl三個文件,我們將會對其進行修改

?????????????????????????????????????????????? 打開ContentQueryMain.xsl找到<xsl:template name="OuterTemplate.GetTitle">將該template定義復制,將復本的名稱更改為OuterTemplate.GetCustomTitle,相應的修改如下:

<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復制,將復本的名稱更改為GetCustomTitle,相應的修改如下:

??? <xsl:template name="OuterTemplate.GetCustomTitle">

??????? <xsl:param name="CustomTitle" select="@CustomTitle"/>

??????? <xsl:value-of select="$CustomTitle"/>

</xsl:template>

保存修改。

?? 打開ItemStyle.xsl文件,我們需要在該文件中加入一個樣式定義

找到<xsl:template name="Default" match="*" 將這個名為Defaulttemplate復制一份,將name屬性修改為AnnouceListmatch屬性修改為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>

?保存修改。

?

4.?????? 導入前面步驟修改的.webPart文件

打開網站集站點管理-web部件,將修改的.webpart文件上傳,將該webpart名稱設置為“公告欄”.

5.?????? 將新加入的webpart重新加入頁面,修改其webpart屬性。

將項目樣式設置為我們在上一步的XSL定義中的樣式"AnnouceList"。點擊“確定”按鈕。

轉載于:https://www.cnblogs.com/liangfb/archive/2007/11/19/964475.html

總結

以上是生活随笔為你收集整理的修改MOSS2007内容查询部件实现自定义格式显示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。