Menu issues on IE9 and lower

The place to talk about things that are related to CMS Made simple, but don't fit anywhere else.
Post Reply
bomner
New Member
New Member
Posts: 1
Joined: Tue Nov 18, 2014 11:28 am

Menu issues on IE9 and lower

Post by bomner »

Hello, I hit an issue with my menu template on version 1.11.10 my php version is latest one. Issue appears only on IE9 and lower all other browsers work perfect!

My menu has some Divs inside inside list items and when page is loaded on IE9 All these divs are separated from their list items and some of them are put even after </ul> tags....

Correct menu structure is:

Code: Select all

<ul id=menu>
   <li class="item no-sub clearfix">MenuText</li>
   <li class="item">MenuText 
      <div class="submenu E-Marketing clearfix">
         <ul>
            <div class="sublistitem">Content</div>
            <div class="sublistitem">Content</div>
            <div class="sublistitem">Content</div>
         </ul>
       </div>
</li> <!--DivForDropDown-->
.....
What I get on IE9:

Code: Select all


<ul id=menu>
   <li class="item no-sub clearfix">MenuText
      <div class="submenu">Content</div> <!--THIS SHOULDNT BE HERE BECAUSE ITEM DO NOT HAVER ANY CHILD ITEMS BUT IT IS GENERATED -->
   </li>
   <li class="item">
      <div class="submenu">
         <ul>
            <div class="sublistitem">Content</div>
         </ul>
      </div>
  </li>
   <div class="sublistitem">Content</div>
   <div class="sublistitem">Content</div>
   ..... REST ITEMS .....

Menu template:

Code: Select all

{strip}
{if $count > 0}
<ul id="menu" class="clearfix">
{foreach from=$nodelist item=node}
    {if $node->depth > $node->prevdepth}
        
        {repeat string='<ul class="clearfix">' times=$node->depth-$node->prevdepth} {* then continue with usual unordered list *}
    {elseif $node->depth < $node->prevdepth}
        {repeat string="</li></ul>" times=$node->prevdepth-$node->depth}
        {if $node->depth == 2}</li>{/if}
        {if $node->depth == 1}</div></li>{/if} {* close open div's *}
    {elseif $node->index > 0}</li>{/if}
     {if $node->current == true && $node->depth > 1} {* if item is active and depth greate 1 *}


        {if !empty($node->image) && ($node->depth != 1)}
<div class="sublistitem-promo {if $node->first}first{/if}{if $node->last}last{/if} clearfix">
     <li class='item{if ($node->haschildren != '1')} no-sub item no-sub clearfix{/if}'>
     <a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>
     <div class='sub-img'><img src='{$node->image}' alt='{$node->menutext}' /></div>
     <div class="subItemWithImage">{$node->menutext}</div>
     {if !empty($node->titleattribute)}<div class='subItemWithImageDescription'>{$node->titleattribute}</div>{/if}
     {if !empty($node->extra3)}<div class='promoPrice'>{$node->extra3}</div>{/if}

</div></a>


{elseif !empty($node->thumbnail) && ($node->depth != 1)}
<div class="sublistitem {if $node->first}first{/if}{if $node->last}last{/if}" {if !empty($node->extra1)}style="{$node->extra1}{/if}">
        <li class='item{if ($node->haschildren != '1')} no-sub item no-sub clearfix{/if}'>
            <a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>
                    
                    {if !empty($node->thumbnail) && ($node->depth != 1)}<div class='sub-thumb'><img src='{$node->thumbnail}' alt='{$node->menutext}' /></div>{/if}
<div class="subItemWithThumbail">{$node->menutext}</div>

                    {if !empty($node->titleattribute)}<div class='titleattribute'>{$node->titleattribute}</div>{/if} 
</div></a>
{else}
<div class="sublistitem {if $node->first}first{/if}{if $node->last}last{/if}" {if !empty($node->extra1)}style="{$node->extra1}{/if}">
        <li class='item{if ($node->haschildren != '1')} no-sub item no-sub clearfix{/if}'>
            <a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>   
            <div class="subItem">{$node->menutext}</div>
            {if !empty($node->titleattribute)}<div class='titleattribute'>{$node->titleattribute}</div>{/if} 
</div></a>
{/if}
{* Active main item *}
 {elseif ($node->current == true) or ($node->parent == true)} {* if item is current and has children *}

        <li class='item current{if ($node->haschildren != '1')} no-sub clearfix{/if}'>
            <a href="{$node->url}" class="menuitem submenuheader current"{if $node->target ne ""} target="{$node->target}"{/if}>
               <span>{$node->menutext}</span>                    
                    {if !empty($node->titleattribute)}<span class='titleattribute'>{$node->titleattribute}</span>{/if}
                    {if !empty($node->thumbnail) && ($node->depth != 1)}<span class='thumb'><img src='{$node->thumbnail}' alt='{$node->menutext}' /></span>{/if}
                    
           </a>
 
            <div class="submenu {$node->menutext} clearfix">
        
      
{* All items *}
    {elseif $node->haschildren == true && $node->depth > 1} {* if item has children and depth is greater 1 *}
        <li class='item{if ($node->haschildren != '1')} no-sub clearfix{/if}'>
          <a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>
                <span>{$node->menutext}</span>
                    {if !empty($node->titleattribute)}<span class='titleattribute'>{$node->titleattribute}</span>{/if}
                    {if !empty($node->thumbnail) && ($node->depth != 1)}<span class='thumb'><img src='{$node->thumbnail}' alt='{$node->menutext}' /></span>{/if}
                    
          </a>   

{* menu items with sub menu *}
 {elseif $node->haschildren == true} {* if item has children *}
        <li class='item{if ($node->haschildren != '1')} no-sub clearfix{/if}'>
            <a href="{$node->url}" class="menuitem submenuheader"{if $node->target ne ""} target="{$node->target}"{/if}>
                 <span>{$node->menutext}</span>
                    {if !empty($node->titleattribute)}<span class='titleattribute'>{$node->titleattribute}</span>{/if}
            </a>
         <div class="submenu {$node->menutext} clearfix">


    {elseif $node->depth > 1} {* if depth is greater 1 *}
{if !empty($node->image) && ($node->depth != 1)}
<div class="sublistitem-promo {if $node->first}first{/if}{if $node->last}last{/if} clearfix">
     <li class='item{if ($node->haschildren != '1')} no-sub item no-sub clearfix{/if}'>
     <a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>
     <div class='sub-img'><img src='{$node->image}' alt='{$node->menutext}' /></div>
     <div class="subItemWithImage">{$node->menutext}</div>
     {if !empty($node->titleattribute)}<div class='subItemWithImageDescription'>{$node->titleattribute}</div>{/if}
     {if !empty($node->extra3)}<div class='promoPrice'>{$node->extra3}</div>{/if}

</div></a>


{elseif !empty($node->thumbnail) && ($node->depth != 1)}
<div class="sublistitem {if $node->first}first{/if}{if $node->last}last{/if}" {if !empty($node->extra1)}style="{$node->extra1}{/if}">
        <li class='item{if ($node->haschildren != '1')} no-sub item no-sub clearfix{/if}'>
            <a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>
                    
                    {if !empty($node->thumbnail) && ($node->depth != 1)}<div class='sub-thumb'><img src='{$node->thumbnail}' alt='{$node->menutext}' /></div>{/if}
<div class="subItemWithThumbail">{$node->menutext}</div>

                    {if !empty($node->titleattribute)}<div class='titleattribute'>{$node->titleattribute}</div>{/if} 
</div></a>
{else}
<div class="sublistitem {if $node->first}first{/if}{if $node->last}last{/if}" {if !empty($node->extra1)}style="{$node->extra1}{/if}">
        <li class='item{if ($node->haschildren != '1')} no-sub item no-sub clearfix{/if}'>
            <a href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>   
            <div class="subItem">{$node->menutext}</div>
            {if !empty($node->titleattribute)}<div class='titleattribute'>{$node->titleattribute}</div>{/if} 
</div></a>
{/if}
            


    {elseif $node->type == 'sectionheader' && $node->haschildren == false} {* no link just sectionheader *}
        <li class='item{if ($node->haschildren != '1')} no-sub clearfix{/if}'>
            <span  href="{$node->url}" class="menuitem sectionheader"{if $node->target ne ""} target="{$node->target}"{/if}>
                <span>{$node->menutext}</span>
                    {if !empty($node->titleattribute)}<span class='titleattribute'>{$node->titleattribute}</span>{/if}
                    
            </a>
    {elseif $node->type == 'sectionheader' && $node->haschildren == true} {* if sectionheader has children *}
        <li class='item{if ($node->haschildren != '1')} no-sub clearfix{/if}'>
            <span class="menuitem submenuheader sectionheader"{if $node->target ne ""} target="{$node->target}"{/if}>
                <span>{$node->menutext}</span>
                    {if !empty($node->titleattribute)}<span class='titleattribute'>{$node->titleattribute}</span>{/if}
                    
            </span>
    {else} {* anything else *}
        <li class='item{if ($node->haschildren != '1')} no-sub clearfix{/if}'>
            <a class="menuitem" href="{$node->url}"{if $node->target ne ""} target="{$node->target}"{/if}>
                <span>{$node->menutext}</span>
                    {if !empty($node->titleattribute)}<span class='titleattribute'>{$node->titleattribute}</span>{/if}
                    {if !empty($node->thumbnail) && ($node->depth != 1)}<span class='thumb'><img src='{$node->thumbnail}' alt='{$node->menutext}' /></span>{/if}
                   
            </a>
    {/if}{/foreach}{repeat string="</li></ul>" times=$node->depth-1}</li></ul>{/if}
{/strip}
User avatar
Dr.CSS
Moderator
Moderator
Posts: 12709
Joined: Thu Mar 09, 2006 5:32 am
Location: Arizona

Re: Menu issues on IE9 and lower

Post by Dr.CSS »

A link to the page with this menu would most likely help us help you...
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3483
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: Menu issues on IE9 and lower

Post by velden »

It's not very likely that really happend. I don't see any condition in the menu template that checks for browser type/version/brand.
So output should be same in every browser.

That said: different browsers could interpret differently. But the page source should be identical.
Post Reply

Return to “The Lounge”