Вывести одним запросом товары 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"
}` Комментарии: 2
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Все верно, забираете через pdoResources с джойном картинок и всего остального
Но пошли дубли товаров, не могу понять где ошибка…