Anonymous
Ну и не нравится. Не пользуйся. Я сразу сказал
Aliaksandr
еще ни разу не смог по-существу говорить, каждый раз понос открывается))
Pathologic
https://modzone.ru/blog/2018/05/13/build-pdomenu-on-fenom/
Aliaksandr
я бы попользовался, но только тем, что сам автор хотя бы в состоянии объяснить))
Pathologic
если верстальщик сможет сделать такое, то я не знаю, а почему он до сих пор верстальщик ((:
Aliaksandr
а так какую-то кучу навалил посреди дороги - а потом обижается, что все нос воротят))
Pathologic
да ладно, может и пригодится как-нибудь, но уже видно, что без сниппетов много геморроя
Aliaksandr
ты же сделал как сам говоришь уже кучу сайтов - так кинь пару скринов как там меню выводится и все. казалось бы, что тут сложного для человека, который всех учит кодить)))
Aliaksandr
Anonymous
Anonymous
Как бы не очень удобно ковырять и искать
Pathologic
{set $ar = $_modx->getPlaceholder('activeResources')}
{if $ar[$item['id']]!}
{set $classes = $item['id'] == $_modx->resource.id ? 'here' : 'active'}
{else}
{set $classes = ''}
{/if}
{if $item['children']?}
<li class="tplParentRow {$classes}">
<a href="{$item['id'] | url}">{$item['pagetitle']}</a>
<ul class="tplInner">
{foreach $item['children'] as $child}
{set $child['level'] = $item['level'] + 1}
{$_modx->getChunk('Menu', ['item'=>$child])}
{/foreach}
</ul>
</li>
{else}
<li class="{$item['level'] > 1 ? 'tplInnerRow' : 'tpl'} {$classes}">
<a href="{$item['id'] | url}">{$item['pagetitle']}</a>
</li>
{/if}
Dmytro
ай))) удали это нафик))
Anonymous
И на этом решении нет сайтов. Т.к. необходимые правки в ядро приняли буквально сегодня утром.
Pathologic
отличное же меню (:
Aliaksandr
ну вот да, примерно такое я себе и преставляю
Pathologic
если верстальщик такое не может, так пусть идет улицу мести
Ilya
будешь его копировать потом из шаблона в шаблон из проекта в проект +)
Pathologic
ну да
Aliaksandr
вот тогда будет как раз эталонное решение для "небольших сайтов на эво" ))
Pathologic
и для родителей поставить класс
Pathologic
на самом деле я видел где-то меню на блейде
Pathologic
полноценное типа
Pathologic
так оно было побольше в разы чем этот пример для фенома
Aliaksandr
а то чуть что и сразу "все, я обиделся, пойду найду на гите какую-нибудь какашку и у вас"))
Ilya
в блейде все тож самое
Ilya
синтаксис чуть другой @if @foreach
Pathologic
ну, если кому-то удобно так выводить меню, то пусть выводит
Pathologic
писать-то можно хоть на чем, вопрос в том удобно ли это
Dmytro
согласен, для migx - это вынужденое решение
Dmytro
Вот это:
{set $ar = $_modx->getPlaceholder('activeResources')}
печально ибо верстальщик не должен вникать откуда брать данные он в трейси просто видит уже масив ar а дальше правильно тогда адекватный и правильный патерн будет
Pathologic
ты смотришь не туда
Pathologic
не важно set там или эта переменная уже будет
Dmytro
писать свое меню вместо dlmenu - разве что потренироваться, так как другого смысла не вижу просто
Ilya
Aliaksandr
на битрикс примерно также все - берется массив $arResults/$arItems и делается форич
Pathologic
почему-то каждый раз когда что-то делаешь сложное, то начинается "я ж не программист"
Pathologic
ну то есть рекурсивный вывод оказывается и не программисты могут делать легко
Pathologic
где
Aliaksandr
захочешь добавить еще один уровень - придется опять руками фигачить
Pathologic
там в середине getChunk для этого же чанка
Ilya
нормальный верстальщик не будет делать рекурсии, он потребует готовый UI обработчик и просто воткнет его в шаблон, указывая только партиалы для всяких элементов меню дополнительно
Aliaksandr
как где
Aliaksandr
{if $item['children']?}
<li class="tplParentRow {$classes}">
<a href="{$item['id'] | url}">{$item['pagetitle']}</a>
<ul class="tplInner">
{foreach $item['children'] as $child}
{set $child['level'] = $item['level'] + 1}
{$_modx->getChunk('Menu', ['item'=>$child])}
{/foreach}
</ul>
</li>
{else}
Pathologic
этот чанк называется Menu
Aliaksandr
"если есть дети - берем форич этих детей"
Pathologic
да, а в детях этот чанк сам себя вызывает
Aliaksandr
ааа, ну тогда это все еще загадочнее )))
Pathologic
ну это мы меню опять же обсуждаем
Pathologic
а еще есть формы
Pathologic
и там долбить "if ошибка то сообщение об ошибке" тоже так себе
Aliaksandr
ну возможно когда-нибудь мы дождемся от сириуса статьи "как я избавился от говнокода в ефильтр и наконец написал свой на блейде" )
Ilya
Итог: генератора меню не будет да ?
Aliaksandr
я знаю зачем он это все делает - чтобы его бот постоянно не глючил он просто хочет на любой вопрос давать одну и ту же ссылку "читай документацию" - потому так яростно и борется со сниппетами даже находясь " в телефоне на море" )))
Anonymous
Бот глючит из-за тупой весты.
Pathologic
Dmytro
Pathologic
ну да
Anonymous
Доклистер в виде вывода списка ресурсов не сильно то и нужнон
Pathologic
ну если вывести список от одного родителя, то да
Anonymous
Для контнета есть SiteContent для пагинации pagination. @Serg_64j вчера скидывал пример
Pathologic
этот пример для частного случая
Pathologic
и то, без Жени так никто толком и не осилил получать тв ((:
Anonymous
Pathologic
доклистер на самом деле говно и для 2.0 его нужно переписывать
Aliaksandr
а фильтровать и сортировать по тв или по количеству комментариев jotx там как?
Pathologic
ну джойнишь таблицы и сортируешь
Dmytro
Ilya
к мультитв заджойни
Pathologic
просто посмотри как там формируются запросы
Dmytro
ну это надо мне сильно залезть в сам код и хорошо изучить сначала, чтобы понимать о чем речь)
Dmytro
если ты сам вдишь ошибки, тебе проще их сформулировать
Aliaksandr
просто посмотри как там формируются запросы
можно конечно сказать что доклистер говно, но заменять его каким-то самописом, который даже сам автор боится выставить на показ, не то что объяснить - это еще больший нонсенс ))