2015-11-27 3 views
0

В моем выпадающем меню не работает, как я и планировал. Here вы можете найти меню, над которым я работаю.Выпадающее меню не работает Typo3

Когда я нажимаю 'Produkte', вы должны открыть раскрывающееся меню с двумя точками подменю. Если я получаю это раскрывающееся меню, и в этих пунктах меню снова есть подменю, должно быть другое раскрывающееся меню. Это возможно ? И если да, то как, я совершенно новый для TypoScript ..

EDIT: хорошо, я только что увидел <a href="#">..</a>, как я могу связать этого родственника, поэтому, если я добавлю новый пункт подменю, он автоматически отобразится там? Возможно, используя data-target="dropdown"?

lib.field_topmenu = HMENU 
lib.field_topmenu { 
    1 = TMENU 
    1 { 
wrap = <ul class="nav navbar-nav">|</ul> 
expAll = 1 
NO = 1 
NO { 
     allWrap = <li>|</li> 
     ATagTitle.field = title 
} 
ACT = 1 
ACT { 
     wrapItemAndSub = <li class="active">|</li> 
     ATagTitle.field = title 
} 
IFSUB = 1 
IFSUB { 
      before = <a href="#" class="dropdown-toggle" data-toggle="dropdown" data-target="dropdown"> 
      after = <b class="caret"></b></a> 
      doNotLinkIt = 1 
      wrapItemAndSub = <li class="dropdown">|</li> 
      ATagTitle.field = title 
      ATagParams = class="dropdown-toggle" data-toggle="dropdown" 
      ATagBeforeWrap = 1 
} 
ACTIFSUB = 1 
ACTIFSUB { 
      before = <a href="#" class="dropdown-toggle" data-toggle="dropdown"> 
      after = <b class="caret"></b></a> 
     # doNotLinkIt = 1 
      wrapItemAndSub = <li class="dropdown active">|</li> 
      ATagTitle.field = title 
      ATagBeforeWrap = 1 
} 
} 
2 = TMENU 
    2 { 
    expAll = 1 
    wrap = <ul class="dropdown-menu">|</ul> 
ACT = 1 
ACT { 
     wrapItemAndSub = <li class="active">|</li> 
     ATagTitle.field = title 
} 
ACTIFSUB = 1 
ACTIFSUB { 
      wrapItemAndSub = | 
      before = <li class="divider"></li><li class="nav-header"> 
      after = </li> 
     # doNotLinkIt = 1 
      ATagTitle.field = title 
} 
NO { 
     allWrap = <li>|</li> 
     ATagTitle.field = title 
} 
IFSUB = 1 
IFSUB { 
      before = <li class="divider"></li><li class="nav-header"> 
      after = </li> 
      doNotLinkIt = 1 
      ATagTitle.field = title 
} 
SPC = 1 
SPC { 
     allWrap = <li class="divider"></li><li class="nav-header">|</li> 
} 
    } 
3 = TMENU 
3 { 
NO { 
     allWrap = <li>|</li> 
     ATagTitle.field = title 
} 
ACT = 1 
ACT { 
     wrapItemAndSub = <li class="active">|</li> 
     ATagTitle.field = title 
    } 
} 
+0

лучший способ решить это с помощью CSS и JS – brandelizer

+0

я узнал, мой первый список уровень элемент не имеет второй уровень в списке элементов внутри себя, вот почему он ничего на мыши не показывают. – sebi

+0

Просьба также показать ** встроенный ** вывод HTML. – pgampe

ответ

2

Решает проблему.

lib.field_topmenu = HMENU 
lib.field_topmenu { 
    entryLevel = 0 
    1 = TMENU 
    1 { 
     expAll = 1 
     wrap = <ul class="nav navbar-nav"> | </ul> 
     noBlur = 1 
     NO = 1 
     NO { 
      wrapItemAndSub = <li>|</li> 
      stdWrap.htmlSpecialChars = 1 
      ATagTitle.field = title 
     } 
     ACT <.NO 
     ACT { 
      wrapItemAndSub = <li class="active">|</li> 
     } 
     IFSUB <.NO 
     IFSUB { 
      allWrap = <!!==:>| 
      wrapItemAndSub = <li class="dropdown">|</li> 
      ATagBeforeWrap = 1 
      linkWrap = |&nbsp;<b class="caret"></b> 
      ATagParams = class="dropdown-toggle" data-toggle="dropdown" 
     } 
     ACTIFSUB < .IFSUB 
     ACTIFSUB { 
      allWrap = <!!==:>| 
     } 
    } 
    2 = TMENU 
    2 { 
     wrap = <ul class="dropdown-menu" role="menu" aria-labelledby="dLable">|</ul> 
     expAll = 1 

     NO = 1 
     NO { 
      allWrap = <li>|</li> 
      stdWrap.htmlSpecialChars = 1 
     } 

     ACT < .NO 
     ACT.ATagParams = class="active" 
     ACT.allWrap = <li class="active">|</li> 

     IFSUB < .NO 
     IFSUB.wrapItemAndSub = <li class="dropdown">|</li> 
     IFSUB.ATagParams = class="dropdown-toggle" data-toggle="dropdown" 
     IFSUB.linkWrap = |&nbsp;<b class="caret"></b> 
     IFSUB.ATagBeforeWrap = 1 

     ACTIFSUB < .IFSUB 
     ACTIFSUB { 
      allWrap = <!!==:>| 
    } 

    3 = TMENU 
    3 { 
      wrap = <ul class="dropdown-menu" role="menu" aria-labelledby="dLable">|</ul> 
      expAll = 1 
      NO = 1 
      NO.allWrap = <li>|</li> 
      NO.stdWrap.htmlSpecialChars = 1 
      ACT < .NO 
      ACT.ATagParams = class="active" 
      ACT.allWrap = <li class="active">|</li> 
    } 
} 
} 
lib.title_banner = IMAGE 
lib.title_banner { 
       file { 
        import.data = levelmedia:-1, slide 
        treatIdAsReference = 1 
        import.listNum = 0 
       } 
} 
0

Вы должны использовать wrapItemAndSub вместо allWrap, если вы хотите иметь <li> метки вокруг всего подменю.

В общем, вы должны сначала создать рабочую HTML-разметку, а затем использовать TypoScript для генерации именно этой разметки.

Смежные вопросы