Na categoria view.phtml, se eu obtiver a categoria e, em seguida, obter uma coleção de produtos, como posso obter o primeiro produto da coleção atribuída a $ _product para uso no código? Aqui está o que eu tenho:
$_category = $this->getCurrentCategory();
$_collection = $_category->getProductCollection();
$_product =
$_resource = $_product->getResource();
Tentei usar o foreach, mas continuava recebendo erros.
$_product = $_collection->getFirstItem()
Respostas:
Para obter o primeiro item de uma coleção, basta usar a
getFirstItem()
função na coleção.Exemplo:
Exemplo 2 (para esta pergunta em particular):
Algumas outras áreas podem ser usadas:
clientes
Encomendas
Observe:
Não é uma boa ideia carregar TODOS os produtos / clientes / pedidos para isso, requer muitos recursos. A maneira preferida é limitar o que você deseja carregar usando as funções
addAttributeToFilter()
ouaddFieldToFilter()
, veja o exemplo abaixo:fonte
O pzirkind está totalmente correto, apenas imaginando que ninguém se preocupa com o desempenho. Se você deseja SOMENTE o primeiro / último item de uma coleção, sempre limite sua consulta a
1
:Apenas o uso
getFirstItem()
ainda carrega toda a coleção e, depois disso, atrapalha o primeiro item.Exemplo : categoria com 750 produtos
Apenas
getFirstItem()
:Adicionando
getSelect()->limit(1)
:fonte
Também como obter o último item:
fonte
@pZirKind está certo, você pode obter o primeiro item da coleção de produtos usando os métodos nativos da classe Varien Collection, como:
fonte
fonte
Tente isso por favor
fonte