Umbraco模板问题

时间:2010-06-06 22:18:53

标签: asp.net templates umbraco

嗨Umbraco用户,

我目前正在建立我的第一个umbraco网站,因为我对umbraco完全不熟悉,我已经遇到了一个问题,我确信这个问题非常简单。

也就是说,在构建使用Joomla的(开源)CMS上运行的网站时,我绝不是初学者!因为它被称为曼波。

无论如何,我正在建设的网站在这里:my site

我想要做的是在鼠标悬停/悬停其中一个菜单项时,白色框中有一些内容会发生变化。当你点击一个链接时,内容必须保持“活跃”(即如果你点击“个人资料”我需要突出显示灰色的配置文件菜单项,白色框内容需要是相关的内容到配置文件菜单项。

我该如何解决这个问题?在网站上展示多个内容时,最佳做法是什么?我看过有关多个Content Place Holders的视频,但我从来没有真正开始工作。我无法在NavigationPlaceHolder(我放在白框中的占位符)中显示一个页面,但那是因为实际页面是Frontpage.aspx而不是WhateverIsInThenavigationPlaceHolder.aspx。如果我去mysite.dk/WhateverIsInNavigationPlaceHolder.aspx,它显示正常。

我错过了什么? :)

提前致谢!如果我的问题在某些方面不明确,请告诉我,我会尝试更好地解释它。

一切顺利,

1 个答案:

答案 0 :(得分: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时它会非常强大。

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