Multiflex-3 multilanguage and Internet Explorer 6

cFos

Hi there I am Sorry that i grab out this old post, but may somebody have got the same problem as i had, so I tried to get Multiflex 3 valid and compatible to IE 6:


Preamble IMPORTANT: This isn't very tested, so it is alpha stadium and there is a restriction:
your last menuitem of your menutree can NOT have a submenu item (so last menuitem = single page), otherwise is wont be valid anymore.




<?php

$indicator 
="_||_!"//This is the Indicator to replace the last Line of the menu, which give a validation error
ob_start();     // start output buffer
 
show_menu2(1,SM2_ROOTSM2_ALL,SM2_ALL,'
                        [if(class==menu-expand){<li>[ac][menu_title]<!--[if IE 7]><!--></a><!--<![endif]--><!--[if lte IE 6]><table><tr><td><![endif]--><ul>}]
                        [if(class!=menu-expand){<li>[ac][menu_title]<span></span></a></li>}]
                        [if(class!=menu-last){}]
                        [if(class==menu-last){</ul><!--[if lte IE 6]></td></tr></table></a><![endif]--></li>}]'
,'','','');
 echo 
$indicator;
 
$menu=ob_get_contents();    // put outputbuffer in $menu
 
ob_end_clean();             // clear outputbuffer
 
$menu str_replace("</li>".$indicator""$menu); //Replace the li which is not valid
 
echo $menu;
 
?>



I know it is not the best way, and may there are other solutions, but i am too tired now to find other workarounds. I hope it helps!

best wishes

michael

ps: sry 4 my english...

Chaploo

Hi,

I managed to combine the two menu calls by myself. It was easier than I thought, just a replacement of

'<li><a href="[url]">[menu_title]</a>','</li>','<ul>','</ul>'

with

'<li>[a][menu_title]
                        [if(class==menu-expand){<!--[if IE 7]><!--></a><!--<![endif]--><!--[if lte IE 6]><table><tr><td><![endif]--><ul>}]
                        [if(class!=menu-expand){</a>}]
                        [if(class!=menu-last){</li>}]
                        [if(class==menu-last){</li></ul><!--[if lte IE 6]></td></tr></table></a><![endif]-->}]','','',''


And <ul></ul> before and after the whole line.
Then I nedded different stylesheets for Firefox and IE, but now everything works fine. The validator shows just 5 "hints" but no mistakes.

Regards
Jochen

Chaploo

Hi,

thanks for your reply. I opened your page on my IE 6.0 from the "Multiple IE"-software and unfortunately it didn't show any dropdowns ...  :oops:

But you are right, maybe the best way is to use another template only for IE 6 with a valid non-dropdown navigation.

Regards
Jochen

ruebenwurzel

Hello,

tried to solve this on this page here:

http://www.aupair-agentur-stern.de

The problem is if you wanna have a valid code, the dropdown did not work in IE6. If you make the dropdown working in IE6 your code isn't valid. So this is the choice if you use the dropdown like it is mad in this template.

There exists other dropdwon menues with javascript, wich work in all browsers. But javascript has the issue, if it is disabled in the browser, dropdown didn't work too.

So if there is someone out who can make a poor css dropdown with show_menu2 wich works in all browsers, he is welcomed.

Matthias

Chaploo

Hi everybody,

I use WB 2.7 and modified Multiflex-3 for a multilanguage website.
With Firefox and IE 7 everything works fine, but I have problems displaying the dropdown menu with IE 6. After a lot of testing I can say that the menu call must be the reason. I use:

<?php show_menu2(1SM2_ROOT+1SM2_ALLSM2_ALL|SM2_CURRTREE'<li><a href="[url]">[menu_title]</a>','</li>','<ul>','</ul>'); ?>


The original menu call in Multiflex-3 is

          <ul>
          <?php show_menu2(1SM2_ROOTSM2_ALL,SM2_ALL,'<li>[a][menu_title]
                        [if(class==menu-expand){<!--[if IE 7]><!--></a><!--<![endif]--><!--[if lte IE 6]><table><tr><td><![endif]--><ul>}]
                        [if(class!=menu-expand){</a>}]
                        [if(class!=menu-last){</li>}]
                        [if(class==menu-last){</li></ul><!--[if lte IE 6]></td></tr></table></a><![endif]-->}]'
,'','',''); ?>

          </ul>


and that works fine in all three browsers. I gues it has to do with the <table> that is used [if lte IE 6], but my php knowledge is far too bad to modify it for the menu call I mentioned above.

Please, can anybody give me hint how to modify this menu call?

Thankls a lot in advance,
regards
Jochen