Как получить меню с производителями?
Добрый день.
Есть сайт РегионТоргСервис. Там в меню (пункт каталог) идут пункты меню, а потом производители. Подскажите, пожалуйста, как это реализовать. Никак не соображу! Спасибо!
Есть сайт РегионТоргСервис. Там в меню (пункт каталог) идут пункты меню, а потом производители. Подскажите, пожалуйста, как это реализовать. Никак не соображу! Спасибо!
Комментарии: 6
Можно с помощью pdoResources + пара джойнов.
В parents указываете id категории, внутри которой надо искать производителей. В tpl цифра 2 в ссылке — это id страницы каталога (замените на свой id). Если на странице каталога есть mFilter2 и у него есть фильтр по производителям, то при переходе будет сразу активирован нужный фильтр.
В parents указываете id категории, внутри которой надо искать производителей. В tpl цифра 2 в ссылке — это id страницы каталога (замените на свой id). Если на странице каталога есть mFilter2 и у него есть фильтр по производителям, то при переходе будет сразу активирован нужный фильтр.
{'!pdoResources' | snippet : [
'parents' => 11,
'class' => 'msProduct',
'innerJoin' => '{
"Data":{ "class":"msProductData","on":"Data.id = msProduct.id"},
"Vendor":{ "class":"msVendor","on":"Vendor.id = Data.vendor" }
}',
'select' => '{"Vendor":"name,id"}',
'tpl' => '@INLINE <a href="{2 | url : [] : ["vendor" => $id]}">{$name}</a>',
'groupby' => 'name'
]}
Спасибо за ваш ответ, но это не то. У вас выводятся все производители, а мне надо что-бы в меню у каждой категории выводились производители этой категории. Вывод нужен в меню, на всех страницах. Пока удалось вывести только на странице категории.
Как раз таки это не все, а производители внутри одной категории. Я же расписал все в комменте.
Вообще для меню этот скрипт конечно будет огромный, я бы скорее написал кастомный сниппет.
Вообще для меню этот скрипт конечно будет огромный, я бы скорее написал кастомный сниппет.
Спасибо еще раз. Сейчас обсуждаю вывод. Вы сможете написать сниппет?
Возможно я поторопился и кастомный сниппет может по скорости не будет лучше. Принцип подразумевал следующий:
1) Получаем коллекцию категорий товаров
2) Пробегаемся через коллекцию и получаем имеющихся производителей в каждой категории, путем запрос к msVendor с джойном msProduct.
3) Добавляем в вывод
Протестите вызов pdoResources, который я написал в комменте. Если он не критично влияет на скорость загрузки страницы, то можно и его оставить.
1) Получаем коллекцию категорий товаров
2) Пробегаемся через коллекцию и получаем имеющихся производителей в каждой категории, путем запрос к msVendor с джойном msProduct.
3) Добавляем в вывод
Протестите вызов pdoResources, который я написал в комменте. Если он не критично влияет на скорость загрузки страницы, то можно и его оставить.
Я понял. Попробую потестить.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.