Я пытаюсь реализовать свою навигацию с помощью опечаток, и мне сложно понять, как правильно обернуть.
У меня уже есть базовая навигация с 1 уровнем, которая работает нормально. Теперь у меня есть страницы, на которых есть подстраницы, и другие, которых нет. Для тех, у кого нет подстраниц, я хочу поведение, которое у меня есть сейчас. Для страниц с подстраницами я хочу добавить это как раскрывающееся меню.
Код HTML должен выглядеть так.
<ul class="nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Test0
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li class=""><a href="#">DropwDownItem1</a></li>
</ul>
</li>
<li class="active"><a href="#">Test1</a></li>
<li><a href="#about">Test2</a></li>
<li><a href="#contact">Test3</a></li>
</ul>
TypoScript:
lib.menu = HMENU
lib.menu {
special = list
special.value = 3,2
1 = TMENU
1 {
wrap = <ul class="nav">|</ul>
expAll = 1
NO.wrapItemAndSub = <li class="">|</li>
RO < .NO
RO = 1
CUR < .NO
CUR = 1
CUR.wrapItemAndSub = <li class="active">|</li>
ACT < .CUR
IFSUB = 1
IFSUB.wrapItemAndSub= <li class="dropdown">|</li>
IFSUB.ATagParams = class="dropdown-toggle" data-toggle="dropdown"
IFSUB.stdWrap.innerWrap= |<b class="caret"></b>
ACTIFSUB = 1
ACTIFSUB.wrapItemAndSub= <li class="dropdown">|</li>
ACTIFSUB.ATagParams = class="dropdown-toggle" data-toggle="dropdown"
ACTIFSUB.stdWrap.innerWrap= |<b class="caret"></b>
CURIFSUB = 1
CURIFSUB.wrapItemAndSub= <li class="dropdown">|</li>
CURIFSUB.ATagParams = class="dropdown-toggle" data-toggle="dropdown"
CURIFSUB.stdWrap.innerWrap= |<b class="caret"></b>
}
2 = TMENU
2 {
wrap = <ul class="dropdown-menu">|</ul>
expAll = 1
NO = 1
NO.wrapItemAndSub = <li>|</li>
}
}
// РЕДАКТИРОВАТЬ: я изменил код, но теперь, когда я нажимаю на элемент в раскрывающемся меню, ul class = "dropdown-menu" оборачивается два раза, и раскрывающийся список не отображается должным образом.