Вопрос про wayfinder на revo - вывод sidemenu с раскрывающимися подменю

Доброго дня!
Взял за образец сайдменю — www.codeply.com/p/WGCqYEiPBg
хочу сделать чтобы разворачивались подпункты меню по типу аккордеон. Пытаюсь сделать на wayfinder.
Вызов в шаблоне:
[[Wayfinder?
&startId=`0`
&level=`2`
&outerTpl=`Wayfinder.Sidebar.outerTpl`
&innerTpl=`Wayfinder.Sidebar.innerTpl`
 &innerRowTpl=`Wayfinder.Sidebar.innerRowTpl`
&rowTpl=`Wayfinder.Sidebar.rowTpl`
&parentRowTpl=`Wayfinder.Sidebar.parentRowTpl`
]]
Wayfinder.Sidebar.parentRowTpl:
<!-- parentRowTpl-->
<li class="[[+wf.classnames]]">
    <a class="nav-link px-0 align-middle" href="#submenu1" data-bs-toggle="collapse" title="[[+wf.title]]">
        <span class="ms-1 d-none d-sm-inline">[[+wf.linktext]]</span>
    </a>
    [[+wf.wrapper]]
</li><!-- /parentRowTpl -->
— здесь в href="#submenu1" должно быть # с ссылкой на id ul вложенного элемента
Wayfinder.Sidebar.innerTpl:
<!-- innerTpl -->
<ul id="submenu1" class="collapse nav flex-column ms-1" data-bs-parent="#menu">
    [[+wf.wrapper]]
</ul><!-- /innerTpl -->
-здесь надо чтобы id ul совпадало с href вышестоящей ссылки, чтобы ul раскрывался при нажатии на соответствующую ссылку.
Прошу подсказать как это можно реализовать?
VAS
VAS
07 апреля 2024, 21:17
modx.pro
234
0

Комментарии: 2

Артур Шевченко
08 апреля 2024, 10:36
1
+1
<!-- parentRowTpl-->
<li class="[[+wf.classnames]]">
    <a class="nav-link px-0 align-middle" href="#submenu1" data-bs-toggle="collapse" title="[[+wf.title]]">
        <span class="ms-1 d-none d-sm-inline">[[+wf.linktext]]</span>
    </a>
    <ul id="submenu1" class="collapse nav flex-column ms-1" data-bs-parent="#menu">
        [[+wf.wrapper]]
    </ul>  
</li><!-- /parentRowTpl -->
<!-- innerTpl -->
    [[+wf.wrapper]]
<!-- /innerTpl -->
Ну и лучше использовать pdoTools, говорят они быстрее.
    vit
    vit
    08 апреля 2024, 10:45
    0
    Я сейчас вернусь де использую SEO Suite, как вы думаете лучше через него карту делать или через pdoTools?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2