Многоуровневое pdomenu с изображениями
Привет!
Плотно изучаю доки по pdomenu, и упорно не понимаю некоторых вещей.
Есть меню вот такого вида:
Но как перейти на второй уровень меню? Какой параметр использовать?
Мой текущий вывод:
Плотно изучаю доки по pdomenu, и упорно не понимаю некоторых вещей.
Есть меню вот такого вида:
<ul class="navbar-nav mr-auto nav flex-column b-menu-catalog w-100">
<li class="nav-item b-menu-catalog__item py-1 active">
<a class="nav-link dropdown-toggle b-menu-catalog__link px-4" href="#" id="navbarDropdownDog" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span>
<img class="b-menu-catalog__img pr-3" src="/assets/template/img/catalog/menu/dog1.png" alt="">
<span>Собакам</span>
</span>
</a>
<div class="b-menu-dropdown dropdown-menu py-4 px-5" aria-labelledby="navbarDropdownRodent">
<div class="d-flex">
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">1Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item b-menu-catalog__item py-1">
<a class="nav-link dropdown-toggle b-menu-catalog__link px-4" href="#" id="navbarDropdownCat" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span>
<img class="b-menu-catalog__img pr-3" src="/assets/template/img/catalog/menu/cat1.png" alt="">
<span>Кошкам</span>
</span>
</a>
<div class="b-menu-dropdown dropdown-menu py-4 px-5" aria-labelledby="navbarDropdownRodent">
<div class="d-flex">
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">2Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item b-menu-catalog__item py-1">
<a class="nav-link dropdown-toggle b-menu-catalog__link px-4" href="#" id="navbarDropdownBird" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span>
<img class="b-menu-catalog__img pr-3" src="/assets/template/img/catalog/menu/bi.png" alt="">
<span>Птицам</span>
</span>
</a>
<div class="b-menu-dropdown dropdown-menu py-4 px-5" aria-labelledby="navbarDropdownRodent">
<div class="d-flex">
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">3Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item b-menu-catalog__item py-1">
<a class="nav-link dropdown-toggle b-menu-catalog__link px-4" href="#" id="navbarDropdownFish" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span>
<img class="b-menu-catalog__img pr-3" src="/assets/template/img/catalog/menu/fish.png" alt="">
<span>Рыбкам</span>
</span>
</a>
<div class="b-menu-dropdown dropdown-menu py-4 px-5" aria-labelledby="navbarDropdownRodent">
<div class="d-flex">
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">4Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item b-menu-catalog__item py-1">
<a class="nav-link dropdown-toggle b-menu-catalog__link px-4" href="#" id="navbarDropdownRodent" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span>
<img class="b-menu-catalog__img pr-3" src="/assets/template/img/catalog/menu/zoo.png" alt="">
<span>Грызунам</span>
</span>
</a>
<div class="b-menu-dropdown dropdown-menu py-4 px-5" aria-labelledby="navbarDropdownRodent">
<div class="d-flex">
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">5Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
</div>
</div>
</li>
<li class="nav-item b-menu-catalog__item py-1">
<a class="nav-link dropdown-toggle b-menu-catalog__link px-4" href="#" id="navbarDropdownSnake" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span>
<img class="b-menu-catalog__img pr-3" src="/assets/template/img/catalog/menu/sn.png" alt="">
<span>Рептилиям</span>
</span>
</a>
<div class="b-menu-dropdown dropdown-menu py-4 px-5" aria-labelledby="navbarDropdownRodent">
<div class="d-flex">
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">6Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
<div class="col-4 b-menu-dropdown__wrapper">
<a class="b-menu-dropdown__title d-block mb-2" href="#">Покормить</a>
<div class="b-menu-dropdown__inner d-flex flex-column">
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
<a class="b-menu-dropdown__item mb-1" href="#">Корма сухие</a>
<a class="b-menu-dropdown__item mb-1" href="#">Консервы</a>
<a class="b-menu-dropdown__item mb-1" href="#">Лакомства</a>
</div>
</div>
</div>
</div>
</li>
</ul>С изображениями я разобрался, добавив TV и указав параметры includetvs и prepatetvs.Но как перейти на второй уровень меню? Какой параметр использовать?
Мой текущий вывод:
[[pdoMenu?
&parents=`2`
&level=`2`
&includeTVs=`menuimg`
&prepateTVs=`1`
&tplOuter=`@INLINE<ul class="navbar-nav mr-auto nav flex-column b-menu-catalog w-100">[[+wrapper]]</ul>`
&tpl=`@INLINE <a class="nav-link dropdown-toggle b-menu-catalog__link px-4"
id="navbarDropdownDog"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"></a>
<span>
<img class="b-menu-catalog__img pr-3" src="[[+menuimg]]" alt="">
<span>[[+menutitle]]</span>
</span>
`
]]Помогите пожалуйста :) Комментарии: 13
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Вообще очень часто выручает параметр «levelClass», получается через css многое сделать, т.е. html верстка остается стандартная ul > li, а через css разруливаем внешний вид.
Если совсем не получается, можно попробовать вызывать внутри пункта меню уровня N еще раз pdoMenu с другими параметрами, но это если таких вызовов будет 1-2.
Вот два вывода меню:
1.
И вот как это выглядит на сайте:
И еще один вывод:
2.
Как выглядит:
Надеюсь поможет!
Спасибо!
Делаю так
Это работает.
Однако если в подкатегории ничего нет, он не теряет классы.
Что я делаю не так?)
Подпункты, естественно, разные)
Вот эти пункты:
Если перенести таким образом, то все подпункты будут внутри контейнера.
И еще, добавить вот это: 'hereClass' => 'active',
И вот сюда вывод: 'tplParentRow' => '@INLINE <li class=«nav-item b-menu-catalog__item py-1» {$classes}>…