Не могу настроить выпадающее меню modx 2.5.5
Доброго времени суток. Достался «в наследство» сайт, на modx, сегодня вот появилась необходимость создать новую вкладку в главном меню и сделать чтобы из неё раскрывался список при наведении курсора. Создал новый ресурс, добавил подчинённые ресурсы всё по аналогии с соседними, которые нормально работают, новый пункт меню появился, но список не при наведении не при нажатии не раскрывается. Но если в древе поменять два соседних ресурса местами, то новый начинает раскрываться а старый перестаёт. Нашёл чанк header в конце есть вот такая часть кода — прикрепил скрином вставляется не корректно.
Если я не ошибаюсь это построитель меню. За построение раскрывающегося меню отвечает строка &tpl=`@INLINE [[+menu_icon]][[+menutitle]][[+wrapper]]` Но что тут нужно поменять или добавить чтобы правильно заработал новый ресурс я так и не понял. На всякий случай прикрепил скрин главной страницы с раскрытым подменю.
Подскажите может я вообще не в ту сторону копаю?
Если я не ошибаюсь это построитель меню. За построение раскрывающегося меню отвечает строка &tpl=`@INLINE [[+menu_icon]][[+menutitle]][[+wrapper]]` Но что тут нужно поменять или добавить чтобы правильно заработал новый ресурс я так и не понял. На всякий случай прикрепил скрин главной страницы с раскрытым подменю.
Подскажите может я вообще не в ту сторону копаю?
Комментарии: 25
В ту сторону. Вся информация Вот тут
Из-за количества tpl по началу можно запутаться, поэтому придется пару раз перечитать документацию и много раз попробовать вывести
Из-за количества tpl по началу можно запутаться, поэтому придется пару раз перечитать документацию и много раз попробовать вывести
Андрей, добрый день!
Вывели меню или нет?
Вывели меню или нет?
Здравствуйте Алексей. Нет так ничего и не получилось, что бы я не делал подменю есть только у второй и третьей вкладок, буду рад если вы подскажете какие параметры нужно проверить.
У вас доступ есть, или на локалке?
Да, есть админка от сайта.
Пришлите eliz33@yandex.ru. Посмотрю.
Благодарю за предложение, я попробую всё же решить данную проблему, если самостоятельно не получится, буду благодарен за вашу помощь.
Хорошо.
Даже интересно. Там в пунктах может просто стоят галочки не показывать в меню, вот они и не отображаются. Сайт то какой?
Нет галочек нет. Сайт вот этот ukt40.ru. если поменять местами транспортные карты и партнёрам, то у Партнёрам появится выпадающий список а у Транспортные карты пропадёт.
А почему у вас в выводе на картинке 2 вызова в меню?
Полностью вызов PdoMenu покажите.
У вас «Пассажирам» и «Транспортные карты» с вот таким классом
<li class="first-level">
А Партнерам нет.
Вот текст чанка Hedder вызов меню по логике в самом конце
<!doctype html>
<html lang="ru">
<head>
<title>[[*pagetitle]] - МУП ГЭТ "УКТ"</title>
<base href="[[!++site_url]]" />
<meta charset="[[++modx_charset]]" />
<link rel="shortcut icon" href="/favicon.png">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<!-- Compiled and minified CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.1/css/materialize.min.css">
<!-- Compiled and minified JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.98.1/js/materialize.min.js"></script>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="/style/css.css">
<script src="/js/script.js"></script>
</head>
<body>
<div class="row header">
<div class="col xl12 header-block1">
<h6 class="about">Официальный сайт управления Калужского троллейбуса</h6>
<div class="block1-header">
<div style="float:left" class="feedback hide-on-med-and-down"><a href="https://www.facebook.com/groups/1958856707680117/" target="blank"><img style="width:30px;margin-left:30px;margin-top:15px;cursor:pointer" src="/facebook-icon.png"/></a></div>
<div style="float:left;margin-left:20px;margin-top:2px; margin-bottom:2px" class="feedback hide-on-med-and-down">
[[ <a> <script type="text/javascript" src="//vk.com/js/api/openapi.js?149"></script ]]
[[ <div style='float':right" class="feedback hide-on-med-and-down"><a>
<!-- clock widget start -->
<script type="text/javascript"> var css_file=document.createElement("link"); css_file.setAttribute("rel","stylesheet"); css_file.setAttribute("type","text/css"); css_file.setAttribute("href","//s.bookcdn.com//css/cl/bw-cl-180x170r9.css"); document.getElementsByTagName("head")[0].appendChild(css_file); </script> <div id="tw_19_1710126253"><div style="width:120px; height:140px; margin: 0 auto;"><a href="http://nochi.com/time/kaluga-36679">Калуга</a>
</div></div> <script type="text/javascript"> function setWidgetData_1710126253(data){ if(typeof(data) != 'undefined' && data.results.length > 0) { for(var i = 0; i < data.results.length; ++i) { var objMainBlock = ''; var params = data.results[i]; objMainBlock = document.getElementById('tw_'+params.widget_type+'_'+params.widget_id); if(objMainBlock !== null) objMainBlock.innerHTML = params.html_code; } } } var clock_timer_1710126253 = -1; </script> <script type="text/javascript" charset="UTF-8" src="https://widgets.booked.net/time/info?ver=2&domid=589&type=19&id=1710126253&scode=2&city_id=36679&wlangid=20&mode=2&details=0&background=ffffff&color=363636&add_background=ffffff&add_color=333333&head_color=ffffff&border=0&transparent=0"></script>
<!-- clock widget end -->
</a></div> ]]
</a></div>
<span>Центральная диспетчерская служба</span>
<div class="h3">7 (4842) 55-03-52</div>
<div class="h3">7 (4842) 55-19-87</div>
</div>
<h6 class="feedback hide-on-med-and-down">
<div class="btn-form"><i class="tiny material-icons" style="float:left">email</i>Обратная связь</div>
</h6>
</div>
<nav class="col xl12 nav-extended">
<div class="nav-wrapper">
<a href="#" data-activates="slide-out" class="button-collapse"><i class="material-icons">menu</i></a>
[[!pdoMenu?
&parents=`0`
&level=`2`
&tplOuter=`@INLINE <ul id="nav-mobile" class="left hide-on-med-and-down">[[+wrapper]]</ul>`
&tpl=`@INLINE <li><a href="[[+link]]"><i class="small material-icons" style="float:left;padding-right:4px">[[+menu_icon]]</i>[[+menutitle]]</a>[[+wrapper]]</li>`
&tplInnerHere=`@INLINE <li class="active"><i class="small material-icons" style="float:left;padding-right:4px">[[+menu_icon]]</i><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
&includeTVs=`menu_icon`
&tvPrefix=``
]]
</div>
</nav>
[[!pdoMenu?
&parents=`0`
&level=`2`
&tplOuter=`@INLINE <ul id="slide-out" class="side-nav fixed hide-on-large-only">[[+wrapper]]</ul>`
&tpl=`@INLINE <li><a href="[[+link]]"><i class="small material-icons">[[+menu_icon]]</i>[[+menutitle]]</a>[[+wrapper]]</li>`
&includeTVs=`menu_icon`
&tplInner=`@INLINE <ul>[[+wrapper]]</ul>`
&tvPrefix=``
]]
</div>
И у меня глупый вопрос где мне присвоить класс разделу партнёры?
Скорее всего он проставлен где-то в атрибутах, надо смотреть. Я бы посмотрел, но вы доступ не хотите давать :) Создайте пользователя и пришлите доступ, потом удалите, как вариант. В мобильном меню тоже бардак, наезжают все пункты. Там шрифт надо сделать меньше.
Извините я бы с радостью, но предоставление доступа зависит совсем не от меня.
кстати вот эта часть кода
Всё меню строится через вот эту часть
кстати вот эта часть кода
[[!pdoMenu?
&parents=`0`
&level=`2`
&tplOuter=`@INLINE <ul id="slide-out" class="side-nav fixed hide-on-large-only">[[+wrapper]]</ul>`
&tpl=`@INLINE <li><a href="[[+link]]"><i class="small material-icons">[[+menu_icon]]</i>[[+menutitle]]</a>[[+wrapper]]</li>`
&includeTVs=`menu_icon`
&tplInner=`@INLINE <ul>[[+wrapper]]</ul>`
&tvPrefix=``
]]
никакой функциональной нагрузки как я понял не несёт, от её удаления ничего не меняется на сайте.Всё меню строится через вот эту часть
[[!pdoMenu?
&parents=`0`
&level=`2`
&tplOuter=`@INLINE <ul id="nav-mobile" class="left hide-on-med-and-down">[[+wrapper]]</ul>`
&tpl=`@INLINE <li><a href="[[+link]]"><i class="small material-icons" style="float:left;padding-right:4px">[[+menu_icon]]</i>[[+menutitle]]</a>[[+wrapper]]</li>`
&tplInnerHere=`@INLINE <li class="active"><i class="small material-icons" style="float:left;padding-right:4px">[[+menu_icon]]</i><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
&includeTVs=`menu_icon`
&tvPrefix=``
]]
И обычное и мобильное.
У вас на пункте «Отследить транспорт» стоит этот же класс first-level. Попробуйте перетащить туда второй уровень меню! Все будет работать. Поставьте в вызов меню:
&tplParentRow=`@INLINE <li class="first-level"><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
Вы правы при добавлении строки
&tplParentRow=`@INLINE <li class="first-level"><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a>[[+wrapper]]</li>`
всё заработало как требуется. Огромное вам спасибо.
Да не за что.
Я могу вас как то отблагодарить?
Да не надо! Сегодня ты помог, завтра тебе!
Я по началу тоже долго разбирался, обращался к людям, они помогали.
Тогда ещё раз огромное вам спасибо.
Еще раз пожалуйста :)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.