WSS3SDK之:如何定製快速啟動的顯示樣式

來源:互聯網
上載者:User
我們可以通過修改導航控制項的屬性來定製快速啟動。該控制項位於default.master母板頁檔案中,預設部署在
(Local_Drive:\Programe Files\Microsoft Shared\Web Server
Extensions\12\TEMPLATE\GLOBAL)檔案夾中。該檔案是WSS的母板頁,包含了網站的頁面配置,包括SharePoint頁面
中導航地區的模板。
在母板頁裡包括了兩個控制項的模板,這是在現有首頁上預設可用的。一個是Microsoft.SharePoint.WebControls.Menu控制項,用於在左側導航區中顯示標準的快速啟動視圖;另一個是Microsoft.SharePoint.WebControls.SPTreeView控制項,用於顯示網站資料夾視圖。我們可以在使用者介面上選擇究竟顯示哪一個視圖。

選擇在網站頁面的左側導航要顯示的視圖控制項

1、選擇網站操作中的網站設定,在外觀一節中,選擇樹視圖。
2、選中啟用快速啟動,來顯示快速啟動視圖,或者選中啟用樹視圖來顯示資料夾檢視。
作為一個對左側導航定製的例子,我們可以把快速啟動摺疊起來,然後設定Menu控
件的屬性添加“感應滑鼠經過的快顯功能表”(fly-out menu)的方式來顯示。這類定製需要我們使用Microsoft Office
SharePoint Designer
2007修改default.master,或者建立一個custom.master檔案,然後利用物件模型將網站指向新的主版頁面檔案。

使用SharePoint Designer修改default.mater在網站主版頁面庫中的執行個體來顯示帶fly-out菜單的摺疊視圖

1、選擇網站操作中的網站設定,在庫一節中,選擇主版頁面。
2、在主版頁面庫頁面中,在下拉式功能表中選擇在Mirosoft Office SharePoint Designer中編輯。
3、在程式碼檢視裡,找到對應的ContentPlaceHolder容器控制項,其ID為PlaceHolderLeftNavBar。在PlaceHolderLeftNavBar中,找到AspMenu控制項,其ID為QuickLaunchMenu。
4、將Menu控制項的StaticDisplayLevels和MaximumDynamicDisplayLevels的值都設為1。如下所示:

<asp:AspMenu
id="QuickLaunchMenu"
DataSourceId="QuickLaunchSiteMap"
runat="server"
Orientation="Vertical"
StaticDisplayLevels="1"
ItemWrap="true"
MaximumDynamicDisplayLevels="1"
StaticSubMenuIndent="0"
SkipLinkText=""
>

5、儲存檔案,開啟網站頁面查看效果。

通過建立自訂的主版頁面檔案並使用SharePoint物件模型來顯示帶fly-out菜單的摺疊視圖

1、拷貝一份default.master(位於\12\TEMPLATE\GLOBAL檔案夾),並重新命名為myDefault.master。
2、開啟建立的myDefault.master檔案,找到對應的ContentPlaceHolder容器控制項,其ID為PlaceHolderLeftNavBar。
3、在PlaceHolderLeftNavBar中,找到AspMenu控制項,其ID為QuickLaunchMenu。然後將StaticDisplayLevels和MaximumDynamicDisplayLevels的值都設為1。如下所示:<asp:AspMenu
id="QuickLaunchMenu"
DataSourceId="QuickLaunchSiteMap"
runat="server"
Orientation="Vertical"
StaticDisplayLevels="1"
ItemWrap="true"
MaximumDynamicDisplayLevels="1"
StaticSubMenuIndent="0"
SkipLinkText=""
>

4、建立一個網站,在Visual Studio裡,使用Microsoft.SharePoint.SPWeb.MasterUrl屬性將網站主版頁面指向自訂的.master檔案,如下所示:
C#

SPWeb subSite = SPControl.GetContextWeb(Context);
subSite.MasterUrl = "/Site/SubSite/_catalogs/masterpage/myDefault.master";

由於該代碼含有變更內容資料庫的操作,所以在運行該代碼的.aspx頁面裡,要有一個Microsoft.SharePoint.WebControls.FormDigest控制項(可以放在一個WebPart裡運行,Web組件頁裡內建該控制項。也可以在一般的aspx頁面中的Form標籤中添加該控制項,以便在頁面中運行該代碼)。同時,別忘了引用Microsoft.SharePoint和Microsoft.SharePoint.WebControls命名空間。
5、重啟IIS,使變更生效。然後開啟網站頁面查看效果。

用TreeView替換Menu控制項

1、開啟我們前面建立的myDefault.master檔案,找到對應的ContentPlaceHolder容器控制項,其ID為PlaceHolderLeftNavBar。
2、在PlaceHolderLeftNavBar中,找到AspMenu控制項,其ID為QuickLaunchMenu。然後將SharePoint:AspMenu的起始標籤和結束標籤都替換成SharePoint:SPTreeView。
3、移除新SPTreeView元素包含的下列LevelMenuItemStyles元素。<LevelMenuItemStyles>
<asp:MenuItemStyle CssClass="ms-navheader"/>
<asp:MenuItemStyle CssClass="ms-navitem"/>
</LevelMenuItemStyles>
<LevelSubMenuStyles>
<asp:SubMenuStyle CssClass="ms-navSubMenu1"/>
<asp:SubMenuStyle CssClass="ms-navSubMenu2"/>
</LevelSubMenuStyles>

4、重啟IIS使改動生效。
SPTreeView控制項提供了很多屬性,允許我們輕鬆對其進行定製。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.