Menu 动态显示菜单节点及其子节点DNN

Menu 动态显示菜单节点及其子节点DNN,menu,dotnetnuke,html-encode,ascx,Menu,Dotnetnuke,Html Encode,Ascx,我已经在皮肤文件中使用dnn:菜单对其进行了硬编码,以选择特定节点,但看起来我必须创建几个额外的皮肤来区分根菜单项(其中4个)之间的节点选择器 有没有一种方法,在任何给定页面上使用相同的皮肤文件,我可以知道我在哪个根菜单项上,以选项卡的形式循环遍历它的第一级子页面,同时在一个可扩展的手风琴部分中列出它们的子页面 嗯…越简单越好 使用 这个Accordian.XSLT显示出了希望,但扩展没有起作用 jQuery(函数($){ var options={initialIndex:-1}; $

我已经在皮肤文件中使用dnn:菜单对其进行了硬编码,以选择特定节点,但看起来我必须创建几个额外的皮肤来区分根菜单项(其中4个)之间的节点选择器

有没有一种方法,在任何给定页面上使用相同的皮肤文件,我可以知道我在哪个根菜单项上,以选项卡的形式循环遍历它的第一级子页面,同时在一个可扩展的手风琴部分中列出它们的子页面

嗯…越简单越好

使用


这个Accordian.XSLT显示出了希望,但扩展没有起作用


jQuery(函数($){
var options={initialIndex:-1};
$.extend(选项,{},);
$(“#”)选项卡(“.toolsaccordion div.pane”,选项);
});
初始索引:
  
这里是menudef.xml


http://www.itdraws.com/js/flowplayer.org-1.1.2-jQuery.tools.min.js

[清单]/tabs-accordion.css






好吧,使用Razor模板处理有条件的东西可能更容易


(您可以以MegaMenu模板为例。)

一个非常简短的答案是,您将以“accordio格式”生成HTML(使用您正在使用的任何模板),然后使用jquery.accordio来完成accordio工作


查看jquery文档,以获取需要生成的HTML结构示例。

我这里有几个有用的答案

DNN ascx if/else()语句如下所示:

<% if (singleConditionExample)  { %>
    alert("Hello World");

<% } else if (multipleConditionsHere() || multipleConditionsHere() && multipleConditionsHere())   { %>    // standard operators. you get the idea.
    alert("elseifConditionsHere");

<% } else { %>
    alert("Else Msg");

<% } %>

警报(“你好世界”);
//标准操作员。你明白了。
警报(“elseifConditionsHere”);
警报(“Else Msg”);
至于获取DNN page tabId、tabName、ParentId,这些都进入了if()条件

//来自DNN BREADCRUB的当前页面根父级

PortalSettings.ActiveTab.BreadCrumbs[0]

//当前DNN页面名称

PortalSettings.ActiveTab.TabName.Equals(“财富管理”)

//当前DNN页面ID号

//当前DNN页面父ID

DotNetNuke.Entities.Portals.PortalController.GetCurrentPortalSettings().ActiveTab.ParentId.Equals(480)

如果要将它们写入页面,请执行以下操作:

我确信还有更多的东西要学,当我学到更多的时候,因为它涉及到获取DNN页面id、面包屑等…我会更新这个答案


干杯

这是绝对可能的,我会看看我是否能找到一些例子代码。那将是超级棒克里斯,谢谢!至少我会考虑写/不写菜单代码块的条件代码。这适用于一个特定的页面:0,1 2和UP?但我需要做的至少是在条件语句中标识+0父级。这是我的头撞在墙上:P–对不起,戈麦斯,我还没有机会把它凑在一起。我不知道该怎么做,因为我带来了jquery
设置这个“$(function(){$(“#lobNavs”)。accordion({collapsible:true,heightStyle:“content”,active:curNode});”并使用此菜单代码<代码>并相应地设置了样式。给了我我需要的,有点…我仍然需要能够显示/不显示基于根父级的内容。这是我需要在skin/ascx文件中包含的重要部分。我有这个,但它只在一个页面上有效(它是父页面)
这个也有效,但同样,只在一个页面上有效
<% if (singleConditionExample)  { %>
    alert("Hello World");

<% } else if (multipleConditionsHere() || multipleConditionsHere() && multipleConditionsHere())   { %>    // standard operators. you get the idea.
    alert("elseifConditionsHere");

<% } else { %>
    alert("Else Msg");

<% } %>