Вывести одним запросом товары minishop2 и обычные страницы
Всем привет!
Столкнулся с интересной проблемой. Необходимо вывести на одной странице товары магазина и страницы новостей. Эдакий совместный, перемешанный поток.
Вывожу через pdoPage в котором element msProducts. Выводит товары магазина но не выводит новости… Понимаю, что msProduct заточен на вывод товаров но, если я верно понимаю документацию, класс msproduct это расширенный класс modresource — должен же забирать и те и те?
Причём, для страницы автора делают тот же вывод но с фильтрацией по ТВ — работает…
Я запутался. Подскажите, пожалуйста, возможные решения.
Да, я понимаю, что могу в element поставить pdoResources он будет выводить все ресурсы но не будет автоматом подтягивать изображения из карточки товара и цены…
UPD: Для тех, кто будет искать решение, вот правильный leftJoin и select. Всё оказалось проще, не надо мудрить.
Столкнулся с интересной проблемой. Необходимо вывести на одной странице товары магазина и страницы новостей. Эдакий совместный, перемешанный поток.
Вывожу через pdoPage в котором element msProducts. Выводит товары магазина но не выводит новости… Понимаю, что msProduct заточен на вывод товаров но, если я верно понимаю документацию, класс msproduct это расширенный класс modresource — должен же забирать и те и те?
[[pdoPage?
&element=`msProducts`
&ajaxMode=`button`
&parents=`3,4`
&tpl=`catalog-item`
&tplCondition=`template`
&conditionalTpls=`{
"7":"feed-item",
"10":"catalog-item"
}`
&limit=`20`
&sortby=`menuindex`
&sortdir=`ASC`
&processTVs=`1`
&includeTVs=`tickerBookType,bookAuthor,bookAuthorAuto,autorFirstBookLetter,authorImage,newsStyleSelector,directShowViaMsProducts`
&tvPrefix=``
]]Причём, для страницы автора делают тот же вывод но с фильтрацией по ТВ — работает…
[[pdoPage?
&element=`msProducts`
&ajaxMode=`button`
&parents=`3,4`
&tpl=`catalog-item`
&tplCondition=`template`
&conditionalTpls=`{
"7":"feed-item",
"10":"catalog-item"
}`
&limit=`20`
&sortby=`menuindex`
&sortdir=`ASC`
&processTVs=`1`
&includeTVs=`tickerBookType,bookAuthor,bookAuthorAuto,autorFirstBookLetter,authorImage,newsStyleSelector,directShowViaMsProducts`
&tvPrefix=``
&tvFilters=`bookAuthorAuto==[[*id]]|%||bookAuthorAuto==%|[[*id]]|%||bookAuthorAuto==%|[[*id]]||bookAuthorAuto==[[*id]]`
]]Я запутался. Подскажите, пожалуйста, возможные решения.
Да, я понимаю, что могу в element поставить pdoResources он будет выводить все ресурсы но не будет автоматом подтягивать изображения из карточки товара и цены…
UPD: Для тех, кто будет искать решение, вот правильный leftJoin и select. Всё оказалось проще, не надо мудрить.
&leftJoin=`{
"msProductData": {
"class":"msProductData",
"alias":"data",
"on": "data.id = msProduct.id"
}
}`
&select=`{
"msProduct":"*",
"data":"price,old_price,image"
}`
Техническая поддержка MODX
Сайт лежит, тормозит или остался без разработчика?
Переезд с MODX 2 на 3, PHP 7 на 8, скорость и безопасность. Поддержка со сроками и ответственностью, а не совет в чате.
Подробнее
Реклама
Комментарии: 2
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Все верно, забираете через pdoResources с джойном картинок и всего остального
Но пошли дубли товаров, не могу понять где ошибка…