Estou recuperando uma coleção de produtos com base na categoria atual. Preciso que essa coleção contenha produtos dentro e fora de estoque e também os dados de preços para serem exibidos corretamente.
Minha loja está configurada para armazenar preços de produtos como impostos, e mostrar preços como inclusivos e exclusivos na frente da loja.
O código para obter a coleção é o seguinte:
$category = Mage::registry('current_category');
$_productCollection = Mage::getModel('catalog/product')->getCollection()
->addCategoryFilter($category)
->addAttributeToSelect(['sku', 'name', 'price'])
->addAttributeToFilter('status', 1)
->addAttributeToSort('jump_number', Varien_Data_Collection::SORT_ORDER_ASC);
O problema com o exposto acima é que, ao carregar o bloco de preços usando o getPriceHtml()
método, os preços inclusivos e exclusivos são exibidos como o preço inclusivo.
Após algumas pesquisas, descobri que adicionar um addFinalPrice()
método à minha coleção me dá o preço esperado - um preço exclusivo e inclusivo correto correto.
No entanto, se eu incluir o addFinalPrice()
método, minha coleção não conterá mais produtos fora de estoque.
Existe uma maneira de retornar os dados de preços corretos e fazer com que a coleção contenha produtos vendáveis e fora de estoque?
Resolvi esse problema agora, e é realmente bastante simples e lógico - eu só precisava acessar
Configuration -> Catalog -> Inventory
e definir 'Exibir produtos em falta 'Yes
.Com o conjunto acima definido
Yes
e oaddFinalPrice()
método adicionado à coleção, agora recebo todos os meus produtos e os dados de preços corretos.fonte