改進housemenu2使網站導航親Seo並在新視窗中開啟。

來源:互聯網
上載者:User

DNN5.1.4使用的導覽功能表是SoplarMenu,使用到了axd,jquery,不僅資源較大,而且產生的html代碼不是搜尋引擎青睞的<ul><li></li></ul>形式,更讓人頭疼

的是不能在新視窗中開啟。在多位前輩的部落格中都提到改用housemenu,於是乎到其官方網站http://www.houseofnuke.com/下載了最新的版本housemenu2,可

讓人失望的是出現了這樣那樣的問題,比如二級菜單不能出現,IE6中hover到父菜單二級菜單不出現等問題,而且這些問題都是共性的。在其官方論壇中也有好多類似

的提問,但是沒有得到官方的及時回複。不得以,用reflection反編譯了housemenu,經過測試,找到了這些問題所在,並做了修改重新編譯了一下,上傳dll到伺服器

後經測試能使用。同時,結合中國國情,將原來的在本頁面開啟修改成了在新頁面中開啟(_blank).這是我應用這個改進版的站http://www.taotel.com/,大家可以看

看menu的效果,因為CSS我不是擅長,有些地方還不如人意,希望大家多包涵,改進。下面我就將部署的具體過程及相關檔案列出來:

1、上傳附件中的Avastone.HouseMenu.dll到伺服器網站中的bin目錄下,avastone.housemenu檔案夾到DesktopModules檔案夾下,

CSS檔案HouseMenu.css上傳到你哪裡呢?你自己隨便放一個位置吧,比如放到images檔案夾,然後在Default.aspx中添加引用就行。

為簡單起見,我們放在head之間吧。當然這個CSS檔案是我在原來官方的基礎上修改的。你可能要對圖片路徑或者其它樣式做修改以適合你的網站哦。

 

代碼

<head id="Head" runat="server">
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
    <meta id="MetaRefresh" runat="Server" http-equiv="Refresh" name="Refresh" />
    <meta id="MetaDescription" runat="Server" name="DESCRIPTION" />
    <meta id="MetaKeywords" runat="Server" name="KEYWORDS" />
    <meta id="MetaCopyright" runat="Server" name="COPYRIGHT" />
    <meta id="MetaGenerator" runat="Server" name="GENERATOR" />
    <meta id="MetaAuthor" runat="Server" name="AUTHOR" />
    <meta id="MetaRobots" runat="server" name="ROBOTS" />
    <link rel="stylesheet" href="/images/housemenu.css" type="text/css">
    <script src="/Resources/Shared/scripts/jquery/jquery.min.js" type="text/javascript"></script>
</head>

 

2、開啟網站所使用的首頁模板檔案。我用的是預設皮膚MinimalExtropy。所以路徑是Portals\_default\Skins\MinimalExtropy\index.ascx.開啟

找到menu所在的位置

代碼

 <div class="menu_style">
  <dnn:NAV runat="server" id="dnnNAV"  ProviderName="DNNMenuNavigationProvider" IndicateChildren="false" ControlOrientation="Horizontal" CSSControl="mainMenu" />
 </div>

 

這是預設的導覽列,即上文所說的soplarmenu.我們不用它,將它換成housemenu,修改成如下

 

    <div class="menu_style">
        <dnn:HOUSEMENU runat="server" ID="HouseMenuNav" RootMenuOrientation="Horizontal"  MaxDepth="88"  RootDepth="0" MenuClientId="houseMenuH"/>
    </div>

 

同時在index.ascx頭部添加

<%@ Register TagPrefix="dnn" TagName="HOUSEMENU" Src="~/DesktopModules/avastone.housemenu/HouseMenu.ascx" %>

 

 

3、修改完default.aspx,index.ascx.上傳到伺服器覆蓋即可。

 

附件(包含一個檔案夾,一個dll,一個css檔案,之前的壓縮包裡dll有誤,請重新下載)

/Files/showker/avastone.housemenu-byshowker2.rar

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.