2010-06-06 92 views
1

嗨傢伙一把umbraco用戶,一把umbraco模板問題

我目前正在建設我的第一個網站一把umbraco和因爲我完全新的一把umbraco我已經碰到了,我敢肯定,問題是很直轉發去做。

這就是說,我絕不是一個初學者,當談到建立CMS,因爲我一直在使用Joomla是在(開源)運行的網站!因爲它被稱爲曼波。

無論如何,我建立該網站是在這裏:my site

我想要做的是在白色的盒子,當你將鼠標懸停/懸停的菜單項,改變一些內容。此外,當你點擊鏈接時,內容必須保持「活動」狀態(即,如果你點擊「個人資料」,我需要用灰色突出顯示個人資料菜單項,而白色框內容需要是相關的內容到配置文件菜單項

如何解決這個問題?在網站上顯示多個內容時,最佳做法是什麼?我觀看過有關多個內容佔位符的視頻,但我從未真正得到它的工作,我不能讓一個頁面在NavigationPlaceHolder(我把白色框中佔位符)來顯示,但那是因爲實際的頁面是Frontpage.aspx而不是WhateverIsInThenavigationPlaceHolder.aspx。如果我去的mysite沒有自動跳轉/ WhateverIsInTheNavigationPlaceHolder.aspx它顯示的罰款。

我有什麼錯過了嗎? :)

在此先感謝!如果我的問題在某些方面不明確,請告訴我,我會盡力更好地解釋它。

一切順利,

回答

0

這是一個有點混亂,你與看到您的實現問什麼,但這裏是一個鏡頭在我可以做什麼:

而不是試圖通過模板系統來做到這一點,我敢肯定你想創建一個用戶控件添加到你的頁面模板。 (模板作爲宏添加。)我會使用和XSLT控制這裏以此爲基本的輸出:

<xsl:variable name="subContentNodes" select="$currentPage/node[@nodeTypeAlias='yourContentNodeType']"> 

<ul id="content-items-nav"> 
    <xsl:for-each select="$subContentNodes"> 
     <li><a href="#subnode-{@id}"><xsl:value-of select="data[@alias='pageBody']" disable-output-escaping="yes" /></a></li> 
    </xsl:for-each> 
</ul> 

再後來

<div id="content-items"> 
    <xsl:for-each select="$subContentNodes"> 
     <div id="subnode-{@id}"><xsl:value-of select="data[@alias='pageBody']" disable-output-escaping="yes" /></div> 
    </xsl:for-each> 
</div> 

它看起來像你已經有包括jQuery在你的頁面上,所以我會添加一個腳本來處理點擊:

$("#content-items-nav a").bind("click", function(e) { 
    e.preventDefault(); 
    var contentDiv = $(this).attr('href'); 
    $("#content-items div").hide(); 
    $(contentDiv).show(); 
    $(this).addClass("active"); 
}); 

希望能幫助你一些。我發現umbraco有相當的學習曲線,但是當你進入umbraco時它非常強大。

(注:我沒有語法檢查任何代碼)