2013-02-07 2 views
1

У меня есть mainmenu с 5 элементами, 3 из них имеют одну или несколько страниц подменю.Как отобразить все подменю?

Я могу отобразить подменю в li-тегах меню первого уровня.

Если это поможет, я использую EXT: откормленных

<fed:page.menu pageUid="2" levels="2" expandAll="1" substElementUid="1" /> 

Это делает следующую разметку:

<ul> 
    <li id="elem_10"> 
     <a href="10">10</a> 
    </li> 
    <li class="active sub" id="elem_21"> 
     <a class="active sub" href="21">21</a> 
     <ul class="lvl-1"> 
      <li class="current" id="elem_11"> 
       <a class="current" href="11">11</a> 
      </li> 
      <li id="elem_12"> 
       <a href="12">12</a> 
      </li> 
      <li id="elem_13"> 
       <a href="13">13</a> 
      </li> 
      <li id="elem_14"> 
       <a href="14">14</a> 
      </li> 
     </ul> 
    </li> 
    <li id="elem_15"> 
     <a href="15">15</a> 
    </li> 
    <li class="sub" id="elem_22"> 
     <a class="sub" href="22">22</a> 
     <ul class="lvl-1"> 
      <li id="elem_16"> 
       <a href="16">16</a> 
      </li> 
      <li id="elem_17"> 
       <a href="17">17</a> 
      </li> 
      <li id="elem_18"> 
       <a href="18">18</a> 
      </li> 
     </ul> 
    </li> 
    <li class="sub" id="elem_19"> 
     <a class="sub" href="19">19</a> 
     <ul class="lvl-1"> 
      <li id="elem_20"> 
       <a href="20">20</a> 
      </li> 
     </ul> 
    </li> 
</ul> 

Но я не в состоянии это стиль как хотелось бы, особенно не потому что он должен быть отзывчивым.

То, что я хочу что-то вроде этого:

<div class="submenu"> 
    <ul id="parent-21"> 
     <li id=current" id="elem_11"> 
      <a id=current" href="11">11</a> 
     </li> 
     <li id="elem_12"> 
      <a href="12">12</a> 
     </li> 
     <li id="elem_13"> 
      <a href="13">13</a> 
     </li> 
     <li id="elem_14"> 
      <a href="14">14</a> 
     </li> 
    </ul> 
    <ul id="parent-22"> 
     <li id="elem_16"> 
      <a href="16">16</a> 
     </li> 
     <li id="elem_17"> 
      <a href="17">17</a> 
     </li> 
     <li id="elem_18"> 
      <a href="18">18</a> 
     </li> 
    </ul> 
    <ul id="parent-19"> 
     <li id="elem_20"> 
      <a href="20">20</a> 
     </li> 
    </ul> 
</div> 

мне нужна связь между родителем (меню) и ребенка (меню) ... но это не самая важная задача, я Однако можно было бы рассчитывать с помощью jQuery.

+0

«Пользователи с репутацией менее 10 лет не могут ответить на свой вопрос в течение 8 часов после запроса». - но у меня есть решение ... :) – internerz

ответ

2

Когда все сделано, все выглядит так просто. Магия состоит в том, чтобы сделать «doNotShowLink = 1» на первом уровне, но открыть элемент упаковки с помощью необходимого элемента elementUid, когда есть подменю, и закрыть его на втором уровне.

10 = HMENU 
10 { 
    special = directory 
    special.value = 2 

    1 = TMENU 
    1 { 
     expAll = 1 
     NO { 
      doNotShowLink = 1 
     } 

     CUR < NO 
     ACT < NO 
     ACTIFSUB < NO 
     CURIFSUB < NO 

     IFSUB = 1 
     IFSUB { 
      doNotShowLink = 1 
      subst_elementUid = 1 
      allWrap = <div class="menu" id="parent-{elementUid}"><ul>| 
     } 
    } 

    2 = TMENU 
    2 { 
     noBlur = 1 

     NO = 1 
     NO { 
      wrapItemAndSub = <li>|</li> 
      ATagTitle.field = subtitle // title 
     } 

     CUR < .NO 
     CUR.wrapItemAndSub = <li class="active">|</li> 

     ACT < .CUR 

     ACTIFSUB < .NO 
     ACTIFSUB.wrapItemAndSub = <li class="open">|</li> 

     CURIFSUB < .ACTIFSUB 

     SPC < .NO 

     wrap = |</ul></div> 
    } 
    3 > 
    wrap = <div id="submenu">|</div> 
} 
Смежные вопросы