Ordenar Produtos por Disponibilidade

Há um tempo procurava uma solução para manter os produtos indisponíveis no final da lista de exibição no site, ao navegar pelo Comunidade Magento me deparei com a solução:

1º Copie o arquivo app/code/core/Mage/Catalog/Block/Product/List.php para app/code/local/Mage/Catalog/Block/Product/List.php (somente se o mesmo ainda não existir)

2º Localize a linha:

$this->_productCollection = $layer->getProductCollection();

e a desabilite comentando-a

//$this->_productCollection = $layer->getProductCollection();

3º Adicione logo abaixo:

$this->_productCollection = $layer->getProductCollection()->joinField('inventory_in_stock', 'cataloginventory_stock_item', 'is_in_stock', 'product_id=entity_id','is_in_stock>=0', 'left')->setOrder('inventory_in_stock','desc');

e pronto, não se esqueça  de apagar o cache e reindexar os índices.

Essa solução foi testada com as versões 1.5.1.0 e 1.6.0.0 do magento.

Comentários

Postagens mais visitadas deste blog

Botão Finalizar Compra Desapareçeu? Eis a Solução!

Mini Painel de Controle no seu Android/iPhone