I'm not a js person, much less jquery. The code we have for IE 6 pops the first child level out but anything beyond that doesn't appear for me.

Comments

add1sun’s picture

It's not the js. This part of the z-index over select fix is what is breaking it:

li.menuparent ul {
	overflow: visible !important;
	overflow: hidden;
}

The overflow: hidden kills any children menus below the first from appearing. If you remove that line, the children appear but the select elements on the page disappear while any nice menu on the page is popped out.

add1sun’s picture

Status: Active » Needs review
StatusFileSize
new935 bytes

haha. OK, sometimes I'm a bit dense when I'm tired. Here is a patch that adds the other menu levels to the IE6 iframe CSS so the children show.

Please test this out so we can it added in. Thanks.

zoen’s picture

Works perfectly for me: http://www.energyfarms.net Mouse over the "Research" item in the brown top menu bar for an example of a menu with third-level dropdowns.

herb’s picture

Thanks to everyone for trying to get this to work! I just tried applying the third level patch to nice_menus.css,v 1.14.2.3 2007/04/30 16:08:16 and the patch application failed with a (patch unexpectedly ends in middle of line Hunk #1 succeeded at 210 with fuzz 1.) Yet, it seems that the patched lines have been added. Testing it on IE6 however did not open any levels beyond level 1.

So, I figured I would borrow the CSS from Frogtarnishe Looneybrayne's http://www.energyfarms.net/ site to confirm how apply the patch, but I couldn't find the patched lines in his nice_menus.css?

I tried using Frog...'s css with my theme, and while the third levels did work with IE6, I had a display flyout display problem and the icons intermittently disappeared. Yet, the flyouts on his site seem to work OK with IE6. He also has some /* Fix IE. Hide from IE Mac \*/ stuff in there.

Any suggestions? Otherwise I'll try to test the next nice_menus.css when it is available.

add1sun’s picture

Hm, the patch applies cleanly for me. What are you using to apply the patch? You can also just manually apply the patch which I would recommend over copying someone else's, especially since his has other customizations in it. to apply manually just find the lines in the patch where the minus is (-) and remove them. Then add the ones with pluses right where the minuses were (make sure you remove the pluses and minuses themselves).

SavoryMedia’s picture

Priority: Normal » Critical

Actually, I'm using the latest DEV version of the module and it works great (with a ton of CSS tweaks to fit the site)...but I'm having the opposite problem as the original issue poster.

Currently I have a HUGE Primary nav tree which is the main navigation for the whole site. In some places, it's 4 levels deep. But, in my main navigation, I only need it to show 2 levels deep (the main menu and the submenus one level below that).

The main problem is that no matter what CSS tricks I try, menus 3 and 4 levels deep are showing themselves in IE6 and 7, which makes it out to be a JS (or .module) "problem." This breaks my whole page layout and navigation. Also, I can't just disable those levels due to the fact that they're being called, through custom functions, to create standalone contextual menus in sidebar blocks. They have to stay enabled.

What can I hack in the .module file (or JS file) in order to only have the top level and one sublevel show and essentially disable anything beyond the 2nd level in Nice Menus?

Thanks in advance,
MJ / New America Foundation

pigpen’s picture

Component: Code » Browser Compat

Add1sun's nice_menus_IE_third_level.patch did the trick for my site, although the third child menu items are really flaky - there seems to be space between the menu items at the third child level, and if you don't mouse down the list just right, the menu collapses back into the parent.

Incidentally, I've gone through dozens of patches & code tweaks trying to get my Nice Menu to expand in IE 6.0 -- a problem everyone else seems to have as well. Nice Menus is so handy and popular, we need to find a reliable way to get it to function in IE 6.0. For all its faults, IE is how many users access our sites (especially my users, who access the site from work, where their browser is dictated by the IT folks). I just don't have the option to tell them to switch over to Firefox.

Thanks for the short-term fix.

Mguel’s picture

Thanks add1sun for the patch.

In my case, it still isn't working in IE6 :/.

I'm using Nice Menu 5.x-1.x-dev 2007-May-02 version, applied the patch and tested with my theme and all the default ones (in case my theme was spoiling the css in some way) but it didn't work at all. The behaviour is the same as before applying the patch. I patch it also manually in case the patch was not applying correctly.

add1sun’s picture

Status: Needs review » Needs work

Meh, I'm moving this back to CNW. It worked OK for me when I did it and for some folks but not for others and now the patch doesn't work for me anymore either. Someone else want to take a crack at this? Nice menus pretty much sucks without this fixed (stupid IE6 ;( ).

nlink’s picture

Priority: Critical » Normal
Status: Needs work » Needs review

I tried experimenting with the patch but could not get it right at all. I also tried to hack the js but to no avail. Finally what I did was to get a css that seemed to be working fine from www.energyfarms.net and use it. However even out there, there were two css to try out and neither of them was working perfect. I went to their site and saw that they dont have the menu options beyond level 1. Anyhow, i had to modify it to some extent to get it working for this case and to fix up this solution. The current css works best under Firefox, Opera, IE6 ( in same order). However as of now it does fix up the problem of second level menu so I hope it helps. I have posted out complete details and a short guide out at my blog: Drupal nice menu: expanded menu problem. you can check out the complete details out there. I was trying to upload the css here but it does not allows me to do so. So you can read and copy it from the above blog link mentioned. I have also posted small installation guide so that you get the updated version. I am still working on it to make it better.

add1sun’s picture

hey nlink, thanks for working on this. you are correct that you can't upload css files. when you upload something to an issue it should always be in the form of a patch rather than a whole new file so we can see what the differences and more easily apply it to the existing code. making a patch is very easy to do and a good skill to pick up. here is the handbook section on it: http://drupal.org/patch/create

i will try to look at your css and see what changes need to be made but i'm pretty busy and probably can't get to it for a week or two. if you could do a patch for me instead that would make it much easier for me to get to it.

dkruglyak’s picture

Title: IE 6 - only first child level pops » Proper IE 6 support: 3rd-level menus & iFrames for SELECTS
Status: Needs review » Needs work
StatusFileSize
new1.6 KB

Gentlemen, thanks to all of you for nice work, but as someone returning to Nice Menus after a long hiatus I am really confused.

What I did was get the latest from CVS tagged as DRUPAL-5 and installed it. Nice menus in IE6 are having problem with not only 3 level not showing (I am using right-expanding menu), but also apparently with no IFrame to fix SELECT bug.

Apparently, there is no IFRAME processing code in the nice_menus.js at all!

So I did look up the older post (http://drupal.org/node/82327) that had that IFRAME code AND was marked as fixed / closed, when in fact that code did not make it into CVS! What I did is take it, rewrote a bit and made a patch against CVS DRUPAL-5 (attached).

Note, I am using Zen theme.

dkruglyak’s picture

StatusFileSize
new1.2 KB

This is not all however.

The patch works but for some reason addition of IFrames really slows down menu expansion / collapse. I presume it is not fatal but not nice for module called "nice menus". I do not know much about how jQuery works, so would greatly appreciate your comments on the code.

Note the original thread re: IFRAMES, which I am marking duplicate (http://drupal.org/node/84608). Maybe it might help find the problem.

Attached also is the patched JS file for those who want to review the code quickly.

add1sun’s picture

Status: Needs work » Fixed

Jeez. Sorry about that. I did actually commit that stuff but then ended up removing it later in the 5 branch. Obviously, just not paying attention since there was also a new file that shouldn't have been added in there to. I've added your patch back in.

I also went ahead and manually compared nlink's css file to what we have and found the one difference that made the 3rd level work. I needed to remove the hidden:overflow. Not sure if that breaks other stuff but let's see if it works any better now. New tarballs for 5 dev will roll at midnight GMT tonight.

I *think* this is fixed but definitely open this back up if either of these issues still occurs in IE6.

Anonymous’s picture

Status: Fixed » Closed (fixed)
TrevorG’s picture

Version: 5.x-1.x-dev » 5.x-1.2
Status: Closed (fixed) » Active

Hey guys, I know this is an old one. I finally got around to testing my site with IE6 since installing nice menus and I'm having this problem. I'm using the latest version - 5x-1.2 - but it simply won't show the "3rd level" as in there is the parent, it will show the first level then the next level won't come up. In FF2, it works wonderfully which is how I've been testing it.

Can someone please take a look and see? Maybe its just a simple css fix?

www.lakedance.com

add1sun’s picture

Category: bug » support

I won't have time to look into this until next week at the earliest. The 3rd level works fine in Garland theme so it isn't a bug as far as I can replicate. Moving this to support request.

TrevorG’s picture

Status: Active » Fixed

Thank you, but I have solved it. The css is responsible, but in a place you wouldn't think it would.

Here is what my css looked like:

/* VERTICAL menus where submenus pop RIGHT (default). */
ul.nice-menu-right ul {
  width: 12.5em;
  left: 220px;
  top: -1px;
  background-image: url(/waves/files/v3/nicemenus/subgradebg1.png);
  filter:alpha(opacity=95);   /* for IE */
  opacity:0.95;  /* CSS3 standard */
}

All of that is fine. But the IE hack for transparency does NOT allow a third level to work. It will display the first level but not the second. So once I removed that the nice menus displays all levels.

So, to recap the

filter:alpha(opacity=95); /* for IE */

line causes nice menus to break. I guess FF people are the only ones who can see whats behind the menus... but I'm OK with that. Switch to FF people! :)

zokazola’s picture

Status: Fixed » Active

Sorry. Created new issue.

add1sun’s picture

Priority: Normal » Critical

@ zokazola, your issue is unrelated to this thread. Please open a new support issue that is for your specific problem. Thanks.

Anonymous’s picture

Status: Active » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.

jdeg’s picture

@TrevorG

Yes i had the same problem, but there's a solution to solve the problem of explorer and alpha?

Thanks.