Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...Noob help with DNNMenu skinningNoob help with DNNMenu skinning
Previous
 
Next
New Post
4/22/2009 7:02 PM
 

Okay,

I'm trying to skin my DNN site and am making very slow progress despite viewing lots of tutorials, and the helpful documentation provided here.  I can't help thinking I'm just going about this the wrong way, so my question is one of strategy more than anything else.

My designer provided me an XHTML template with the menu rendered like this.  I shorted the code for brevity:

            <ul id="nav">
                <li class="active">
                    <a href="#">
                        <span class="left">&nbsp;</span>
                        <span class="middle">Home</span>
                        <span class="right">&nbsp;</span>
                    </a></li>
                <li>
                    <a class="drop" href="#">
                        <span class="left">&nbsp;</span>
                        <span class="middle">Talks</span>
                        <span class="right">&nbsp;</span>
                    </a>
                    <!-- drop down -->
                    <div class="drop-down">
                        <ul class="drop-top">
                            <li><a href="#">Click through</a></li>
                            <li><a href="#">Rollover</a></li>
                            <li><a href="#">Normal</a></li>
                        </ul>
                        <div class="drop-btm"></div>
                    </div>
                </li>
            </ul>

And the CSS looks like this.  Again, this is just a snippet:

#nav {
position:absolute;
top:173px;
left:0;
margin:0;
padding:0;
list-style:none;
font-size:11px;
line-height:30px;
letter-spacing:0.1em;
text-transform:uppercase;
}
#nav li {
float:left;
}
#nav a {
display:block;
color:#707675;
}
#nav a span {
float:left;
cursor:pointer;
}
#nav a .left,
#nav a .right { width:21px;}
#nav a .middle { padding:0;}
#nav a:hover {
text-decoration:none;
color:#fff;
}
#nav a:hover .left {
background:url(../images/bg-menu-hover-left.png) no-repeat;
}
#nav a:hover .right,
#nav li:hover a .right,
#nav li.hover a .right {
background:url(../images/bg-menu-hover-right2.png) no-repeat;
}
#nav a:hover .middle,
#nav li.hover a .middle,
#nav li:hover a .middle {
background:#bcb391;
color:#fff;
}
#nav a.push .left {
background:url(../images/bg-menu-click-left.png) no-repeat;
}
#nav a.push .right {
background:url(../images/bg-menu-click-right2.png) no-repeat;
}
#nav a.push .middle {
background:#928655 !important;
color:#fff;
}
#nav a.push:hover .right {
background:url(../images/bg-menu-click-right2.png) no-repeat;
}

So the menu is a styled ordered list -- nested for submenus.  Ideally all I have to do is write code that injects my links and site map into this structure.  But I've had no end of trouble getting DNNMenu to deal with this markup and styling.  I'm finding I'm throwing away all of the work from my designer because this strategy isn't working.  I can't even get the DNNMenu (v2 -- I'm on DNN501) to render a nested structure of ordered lists, much less style each item in the list in 3 parts like the designer has done (left side of tab, menu text, right side of tab).

It's hard to come up with a specific question at this stage, because I've got the hunch I'm doing this completely the wrong way to begin with.  It really shouldn't be this hard.  So what is the best practice strategy for taking an XHTML template rendering menus as lists and converting it into DNNMenu?  Is there a way to get a nested list structure out of that control?

AldenG

 

 

 
New Post
4/22/2009 7:46 PM
 

I happen to be working on a project where I wanted to use a menu based on UL, LI, A tags, rather than the normal menu offered by DNN.

Unfortunately, there are a few problems with this. First off, this will only work in 5.0(.1) and up. Older versions simply do not support the "unordered list" menu. The NAV menu (and the older SOLPART menu) just "love" their tables. Jon Henning has introduced new menu CSS styling features, which give you more control over the classes assigned to tags for better skinning. But, I don't like these table based menus much, particularly because they use postbacks rather than straight "a" tags for links. "A" tags as links are better for SEO. But, Jon also added support for unordered list menus. These actually work great, AFTER some changes to the underlying javascript. Unfortunately, in its current incarnation (in 5.0.1), the unordered list menus are totally unskinnable because they use inline styles (for no apparent reason), which completely destroys any skinning you apply through CSS. But the javascript changes are simple enough.

Here is an image of the menu system I'm working on with just ul, li, a tags and some css styling.

Info about the new menu features can be found here: http://www.codeendeavors.com/Downloads.aspx

The bug report with a suggested source change is here: http://support.dotnetnuke.com/issue/ViewIssue.aspx?id=9771&PROJID=39

However, in any case, you can't inject your own html. It is all generated for you. You can only style the unordered list menus with CSS and have no other control over what is injected (actually, that may not be completely true, but I haven't tested it nor have I had the need to do so).

Other than that, your DNN built-in options are exhausted. But you could use the Telerik Radmenu or the free HouseMenu. I haven't used either, so this isn't really a recommendation, but I understand others use either with considerable success.

 
New Post
4/22/2009 9:26 PM
 

Thanks for your reply Mike, although it doesn't sound very encouraging.  I see the HouseMenu claims to only support DNN4.  Is there anyone out there using this on DNN5?

I've already viewed the CodeEndeavors tutorials.  Very nice, but I got completely bogged down trying to convert my template using those styles.  I'm thinking I might be better off trying to go the other direction -- start with the CodeEndeavors skinning template and try to introduce the styles from my template.  At least that way I'm starting from something that works in DNN, rather than trying to convert a ul/li/a approach to DNN.

But if people are having good luck with HouseMenu in DNN5, then I'll try that next.

AldenG

 
New Post
4/22/2009 9:52 PM
 

Didn't get very far with HouseMenu.  Broke my skin, just like these other folks: http://houseofnuke.com/Forums/tabid/411/forumid/8/postid/460/view/topic/Default.aspx

 
New Post
4/22/2009 10:25 PM
 
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...Noob help with DNNMenu skinningNoob help with DNNMenu skinning


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out