Некоторые вопросы по pdoMenu
Здравствуйте. Сейчас я делаю многоуровневый каталог, и в некоторых местах у меня возникают непонятные вещи.
Структура каталога примерно такая:
Сам код вывода на данный момент выглядит вот так:
1. Почти у каждой фирмы-производителя есть логотип, который хотелось бы вывести. Как это сделать только для неё, то есть для верхнего уровня списка? И что делать, если логотипа нет?
2. Из-за того, что вложенность категорий разная, возможно ли как-то «указать» pdoMenu чтобы она последнему уровню UL-LI (который непосредственно показывает товары) присваивала какой-то особенный класс? Ну, или, например, конкретно каждому товару (то есть конечному пункту в этой всей пищевой цепочке?) :)
PS: Возможно я совершенно неправ и делаю велосипед, но может быть вы порекомендуете какие-то дополнения модэксовские в которых каталог уже предусмотрен? Мне, в принципе, нужна каталогизация, желательно фильтрация по каким-то параметрам, учитывая то, что у разных категорий может быть набор своих параметров и так далее. Как я понимаю, подобные штуки умеет minishop2 но я очень сомневаюсь, что он встанет на уже рабочий проект.
Структура каталога примерно такая:
Фирма-производитель
-- Категория
---- Подкатегория
------ Подподкатегория :)
-------- Товар
… и так далее.Сам код вывода на данный момент выглядит вот так:
[[pdoMenu?
&displayStart=`[[~id]]`
&parents=`[[~id]]`
&includeTVs=`vendorImage`
&sortby=`menutitle`
&sortdir=`ASC`
&levelClass=`level`
]]
Есть два затруднения:1. Почти у каждой фирмы-производителя есть логотип, который хотелось бы вывести. Как это сделать только для неё, то есть для верхнего уровня списка? И что делать, если логотипа нет?
2. Из-за того, что вложенность категорий разная, возможно ли как-то «указать» pdoMenu чтобы она последнему уровню UL-LI (который непосредственно показывает товары) присваивала какой-то особенный класс? Ну, или, например, конкретно каждому товару (то есть конечному пункту в этой всей пищевой цепочке?) :)
PS: Возможно я совершенно неправ и делаю велосипед, но может быть вы порекомендуете какие-то дополнения модэксовские в которых каталог уже предусмотрен? Мне, в принципе, нужна каталогизация, желательно фильтрация по каким-то параметрам, учитывая то, что у разных категорий может быть набор своих параметров и так далее. Как я понимаю, подобные штуки умеет minishop2 но я очень сомневаюсь, что он встанет на уже рабочий проект.
Комментарии: 9
1)
прописываете сюда нужный плейсхолдер и к нему модификатор default
2)
&tplStart Чанк оформления корневого пункта, при условии, что включен &displayStart. По умолчанию: @INLINE <h2[[+classes]]>[[+menutitle]][[+wrapper]]
прописываете сюда нужный плейсхолдер и к нему модификатор default
2)
&lastClass Класс последнего пункта меню. По умолчанию: last3)
&displayStart=`[[~id]]`это что-то не то, [[~id]] не даст Вам ничего, а нужен идентификатор(ы) (число)
&parents=`[[~id]]`
Спасибо. То есть мне нужно получить, например, &displayStart=`4,16,32`, где 4,16,32 — корневые «узлы» каталога? А как?
[[pdoResources? &returnIds=`1`]]
условия придумайте сами — это может быть родитель определенный (через &parents и &depth, либо шаблон (через &where). docs.modx.pro/components/pdotools/snippets/pdoresources
Спасибо. Остался последний вопрос: как в череде бесконечных UL/LI определить, что это последний во вложенности, это возможно? Я имею в виду последний UL который у меня выводит непосредственно товары в категории. С помощью lastClass это можно прописать только у li, кажется.
У CSS есть для этого псевдокласс :last-child.
Как применить его вот к такой конструкции? Боюсь, что никак. Было бы замечательно, если бы последний ul можно было бы выделить каким-то классом, тогда было бы ясно чем его перехватить в CSS
<ul>
<li>
<ul>
<li>
<ul>
<li>Последний пункт</li>
</ul>
</li>
</ul>
</li>
</ul>
Последний ul в меню выделяется так:
Последний li в твоём примере — так:
А вообще, pdoMenu умеет показывать уровень вложенности и присваивает первым и последним элементам соответствующие классы, что упрощает задачу:
.mymenu ul:last-child
Последний li в твоём примере — так:
.mymenu ul:last-child ul ul li:last-child
А вообще, pdoMenu умеет показывать уровень вложенности и присваивает первым и последним элементам соответствующие классы, что упрощает задачу:
.mymenu ul:last-child li.level-3.last
Люди, кто может подсказать. Можно ли на определенном уровне вложенности в pdoMenu использовать определенный шаблон (не просто класс)?
Нашли ответ, тоже столкнулся)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.