Здравствуйте. Я допиливаю мадженту под свои нужды. Сейчас кручусь вокруг layered navigation, делаю ей отличное от стандартного поведение (очень долго пояснять что именно, надеюсь так поймете). В общем споткнулся на addAttributeToFilter. Когда этим методом добавляю фильтрацию атрибута к простому товару, то все ок. Но когда я пытаюсь добавить этим методом атрибут потомка сгруппированного товара, то в ответ возвращается ноль строк. Подозреваю, что применение этого метода непосредственно к коллекции сгруппированных товаров ничего не возвращает, так как у сгруппированного товара нет этого атрибута, этот атрибут принадлежит потомкам сгруппированного товара.
Подскажите, пожалуйста, как можно отфильтровать сгруппированные товары по атрибуту его потомка. Заранее благодарен.
Как программно получить все сборные товары, которые включают в себя простые товары с заданным значением свойства?
25.03.2012 20:23
Мне нужно применить фильтр к коллекции сгруппированных товаров, непосредственно к атрибутам потомков этих самых сгруппированных товаров.
25.03.2012 20:32
Ок.. Есть три простых товара:
- Нож, размер лезвия 8см
- Нож, размер лезвия 10см
- Нож, размер лезвия 12см
У каждого из этих трех товаров есть атрибут "цвет".
Так же есть сборный товар "Ножи", который включает в себя все три вышеописанных товара.
Допустим мы имеем целую коллекцию подобных сборных товаров. Как мне программно получить все сборные товары, которые включают в себя ножи синего цвета?
- Нож, размер лезвия 8см
- Нож, размер лезвия 10см
- Нож, размер лезвия 12см
У каждого из этих трех товаров есть атрибут "цвет".
Так же есть сборный товар "Ножи", который включает в себя все три вышеописанных товара.
Допустим мы имеем целую коллекцию подобных сборных товаров. Как мне программно получить все сборные товары, которые включают в себя ножи синего цвета?
25.03.2012 20:40
Надо выбрать из всех товаров магазина отвечающие требуемым критериям простые товары, а затем вызвать для множества идентификаторов этих товаров метод Mage_Catalog_Model_Product_Type_Grouped::getParentIdsByChild.
25.03.2012 20:46
А как быть, если у меня на всех простых товарах стоит опция "не показывать по отдельности" и эти простые товары не относятся ни к одной категории? И как это сделать не в ущерб производительности? Да и выбрать мне нужно только из определенной категории, в которой размещены сборные товары.