2010-06-06 89 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时它非常强大。

(注:我没有语法检查任何代码)