Помощь с выборкой по производителю, SOS
        Василий, доброе утро!
Заранее благодарю за помощь, если откликнешься.
Есть следующий код:
Все замечательно работает, выбираются категории и товары из контекста «каталог». Задача следующая, необходимо, чтобы выбирались, только категории и товары, например с привязкой к производителю VendorName:
Что необходимо приджоинить? Опробовал много вариантов, ничего не получилось.
Спасибо!
    
    
                                                                                
            Заранее благодарю за помощь, если откликнешься.
Есть следующий код:
[[msProducts?
	&parents=`0`
	&class=`msCategory`
	&where=`{"context_key":"catalog", "class_key":"msCategory"}`
	&tpl=`category.row.tpl`
	&select=`{
		"msCategory":"*"
		,"msProduct":"msProduct.id as product_id"
	}`
	&innerJoin=`{
		"msProduct": {"class":"msProduct", "alias":"msProduct", "on":"msProduct.parent = msCategory.id AND msProduct.class_key = 'msProduct' AND msProduct.published = true"}
		}`
	&sortdir=`asc`
	&limit=`0`
	&showLog=`1`
]]Все замечательно работает, выбираются категории и товары из контекста «каталог». Задача следующая, необходимо, чтобы выбирались, только категории и товары, например с привязкой к производителю VendorName:
&where=`{"Vendor.name:LIKE":"%VendorName%"}`Что необходимо приджоинить? Опробовал много вариантов, ничего не получилось.
Спасибо!
Комментарии: 4
                Производителя можно присоединить только через таблицу данных товара. Поле vendor id — там.
Причем, лучше использовать pdoResources, потому что в msProducts много ненужных для твой задачи дополнительных обработок.
                    Причем, лучше использовать pdoResources, потому что в msProducts много ненужных для твой задачи дополнительных обработок.
[[!pdoResources?
	&parents=`0`
	&class=`msCategory`
	&select=`{
		"msCategory":"*"
		,"Product":"Product.id as product_id"
	}`
	&innerJoin=`{
		"Product": {"class":"msProduct", "on":"Product.parent = msCategory.id AND Product.class_key = 'msProduct' AND Product.published = 1 AND Product.deleted = 0"},
		"Data": {"class":"msProductData", "on":"Product.id = Data.id"},
		"Vendor": {"class":"msVendor", "on":"Data.vendor = Vendor.id"}
	}`
	&sortdir=`asc`
	&where=`{"Vendor.name:LIKE":"%Apple%", "class_key":"msCategory"}`
	&showLog=`1`
]]            
                Спасибо, выборка работает, только есть нюанс. В результате выборки у нас получается подобное:
— Категория Iphone 6
— Товар 1 (производитель Apple)
— Категория Iphone 6
— Товар 2 (производитель Apple)
— Категория Iphone 6 Plus
— Товар 3 (производитель Apple)
Можно ли как-то объединить товары в общие категории? Вот так например:
— Категория Iphone 6
— Товар 1 (производитель Apple)
— Товар 2 (производитель Apple)
— Категория Iphone 6 Plus
— Товар 3 (производитель Apple)
Я думаю, многим будет полезно данное решение. Спасибо еще раз.
                    — Категория Iphone 6
— Товар 1 (производитель Apple)
— Категория Iphone 6
— Товар 2 (производитель Apple)
— Категория Iphone 6 Plus
— Товар 3 (производитель Apple)
Можно ли как-то объединить товары в общие категории? Вот так например:
— Категория Iphone 6
— Товар 1 (производитель Apple)
— Товар 2 (производитель Apple)
— Категория Iphone 6 Plus
— Товар 3 (производитель Apple)
Я думаю, многим будет полезно данное решение. Спасибо еще раз.
                Укажи 
                    &groupby=`Vendor.id`или&groupby=`msCategory.id`            
                Спасибо. И последний вопрос, можно ли собрать не прямых потомков категорий товаров:
— Категория Iphone 6 (Чехлы)
— Категория Iphone 6 Plus (Чехлы)
— Категория Iphone 6 Plus (Аксессуары)
А родительские категории:
— Чехлы
— Аксессуары
                    — Категория Iphone 6 (Чехлы)
— Категория Iphone 6 Plus (Чехлы)
— Категория Iphone 6 Plus (Аксессуары)
А родительские категории:
— Чехлы
— Аксессуары
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.