Como posso obter a lista de categorias de todos os produtos em ofertas especiais. É um pouco complicado. Consigo obter a lista de produtos usando:
$collection
->addAttributeToFilter(
array(
array('attribute' => 'news_from_date', 'is'=>new Zend_Db_Expr('not null')),
array('attribute' => 'news_to_date', 'is'=>new Zend_Db_Expr('not null'))
)
)
->addAttributeToFilter('news_from_date', array('or'=> array(
0 => array('date' => true, 'to' => $todayEndOfDayDate),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToFilter('news_to_date', array('or'=> array(
0 => array('date' => true, 'from' => $todayStartOfDayDate),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToSort('news_from_date', 'desc');
Mas como posso obter suas categorias (categorias de nível superior, de preferência).
Obrigado.
magento-1.9
catalog
model
category-products
resource-model
Yehia A.Salam
fonte
fonte
Respostas:
Então você já tem os produtos dentro do
$collection
objeto.Você consegue fazer isso.
Agora você tem os IDs de categoria necessários.
Veja como você pode obter as categorias de nível superior que têm IDs entre as que você filtrou acima.
Agora você pode simplesmente percorrer a coleção de categorias e fazer o que precisar com sua categoria. Você não precisa
load
mais ligar para cada um.fonte
Como você disse que você tem uma coleção de produtos, vamos assumir que a coleção de produtos é $ collection.
ID da categoria da loja variável $ cat dos produtos.
Agora carregue a coleção de categorias por IDs de categoria.
Este é um longo caminho para fazer isso.
ou você pode definir o sinalizador como atributo de categoria enquanto o preço especial é definido.
fonte
Tente o seguinte:
fonte
fonte