As etapas mencionadas abaixo são o processo mais curto para você trabalhar com Product Collection no Magento 2.
Com este guia, você pode manipular a coleção de produtos no Magento 2 facilmente.
Todos os produtos de uma determinada categoria:
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection') ->addCategoryFilter($category);
Filtro de visibilidade
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection'); \Magento\Framework\App\ObjectManager::getInstance() ->create(Magento\Catalog\Model\Product\Visibility’) ->addVisibleInCatalogFilterToCollection($collection);
Filtrando por Status
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection'); \Magento\Framework\App\ObjectManager::getInstance() ->create(Magento\Catalog\Model\Product\Status’) ->addVisibleFilterToCollection($collection);
Adicionando o preço a Collection
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection') ->addFinalPrice() ->addTaxPercents();
Website ID
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection') ->addWebsiteNamesToResult();
Filtrar pela Loja
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection') ->addStoreFilter();
Filtrar pelo Website
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection') ->addWebsiteFilter();
Adicionar a URL SEO
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection') ->addUrlRewrite();
Retornar também o ID das categorias
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection') ->addCategoryIds();
Informações sobre o Preço
$collection = \Magento\Framework\App\ObjectManager::getInstance() ->create('Magento\Catalog\Model\ResourceModel\Product\Collection') ->addTierPriceData();