2011-03-23 131 views
2

我想要做的是分離SharePoint 2010上的globalnavigation欄,以便我可以控制哪些菜單項應該浮動到左側或右側酒吧。如何:Manupilate SharePoint:AspMenu控制(風格明智)

有沒有辦法做到這一點,沒有一個完整的自定義版本,所以我只需要編輯當前的一個。或者我真的不得不做一個完整的新的?

我至今試圖只是複製所有的UL> LI的還有的用於顯示菜單項是這樣的:

<div class="s4-tn"> 
    <div class="menu horizontal menu-horizontal"> 
     <ul class="static"> 
      <li class="static dynamic-children"> 
       <a href="#" CssClass="static dynamic-children menu-item"> 
        <span class="additional-background"> 
         <span class="menu-item-text">Custom Dropdown</span> 
        </span> 
       </a> 
       <ul class="dynamic"> 
        <li class="dynamic"> 
         <a href="#" class="dynamic menu-item"> 
          <span class="additional-background"> 
           <span class="menu-item-text">Test subsite</span> 
          </span> 
         </a> 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </div> 
</div> 

但它似乎沒有觸發下拉功能。可能只是一個天真的嘗試。

任何有關此主題的指南或教程的鏈接將是一個很大的幫助。

+0

我做了類似的事情,但沒有使用Sharepoint:AspMenu,但開始使用中繼器。你仍然可以使用相同的數據源,或添加一些新的。一個鏈接(2007)datasouces可用:http://ktskumar.wordpress.com/2008/04/14/sharepoint-navigation-providers-part-1/並不是所有的人都在2010年工作。希望它有點幫助。 (編輯:可以添加一個鏈接到我的博客帖子,但它是荷蘭人,所以可能不會幫你很多) – 2011-03-23 11:46:29

+0

@Jan_V如果你是博客包含代碼塊關於這個,我非常想看到它反正。任何可能幫助我朝正確方向發展的東西都會很有幫助。 – diceler 2011-03-23 13:20:53

+1

那麼,在這種情況下,這裏是鏈接:http://www.jan-v.nl/branding-styling-het-sharepoint-2010-menu – 2011-03-23 13:47:10

回答

5

爲了將來的參考,以下是鏈接的博文的內容。

這使用一個asp:Repeater代替Sharepoint:AspMenu作爲前者允許更清晰的html和更好的樣式。我還在主頁面上創建了幾個數據源,它們返回了我需要顯示的正確項目。

<asp:Repeater ID="TopMenu" runat="server" DataSourceID="selectedSiteMap"> 
     <HeaderTemplate> 
      <ul id="main_menu_ul" class=""> 
     </HeaderTemplate> 
     <ItemTemplate> 
      <li><a href="<%# Eval("Url")%>" class="link"> 
       <%# Eval("Title")%></a></li> 
     </ItemTemplate> 
     <FooterTemplate> 
      </ul> 
     </FooterTemplate> 
    </asp:Repeater> 
    <asp:SiteMapDataSource SiteMapProvider="CombinedNavSiteMapProvider" ShowStartingNode="false" 
     StartFromCurrentNode="false" StartingNodeOffset="0" StartingNodeUrl="sid:1002" 
     EnableViewState="true" ID="selectedSiteMap" runat="server" /> 

我發現它的數據源與這個職位的一點幫助使用方法:http://ktskumar.wordpress.com/2008/04/14/sharepoint-navigation-providers-part-1/ 他們列出了SharePoint 2007的,但對於2010還大部分工作。

在頁面上使用多箇中繼器和數據源,您可以創建一個非常乾淨的菜單。隨着一些JavaScript和CSS的樣式,你可以創建你想要的每個菜單。

+0

在SharePoint 2010中,(v4)AspMenu輸出也「非常乾淨」;它的優點是它已經用所有標準的SP(v4)CSS類來註釋樣式。對於SharePoint 2007 OOB而言,這是不能說的。 – 2012-05-04 01:27:23

+0

好方法。有一件事要注意的是,當你着手這個問題時,你將需要在單獨的控制B/C主頁面默認不建立代碼塊。 – Roman 2014-08-19 23:31:56