In Magento 2, puoi utilizzare un repository di prodotti per filtrare in base agli attributi del prodotto?
In Magento 2, puoi usare un oggetto criteri di ricerca
\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria,
e un repository
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
Per recuperare un elenco di oggetti
$searchCriteria->getPageSize(10);
$list = $productRepository->getList($searchCriteria);
Tuttavia, l'oggetto searchCriteria non ha (sembra?) Avere funzionalità di filtro diretto. La classe di criteri di ricerca non hanno metodi per aggiungere qualcosa chiamato filterGroups
#File: lib/internal/Magento/Framework/Api/SearchCriteria.php
public function getFilterGroups()
{
$filterGroups = $this->_get(self::FILTER_GROUPS);
return is_array($filterGroups) ? $filterGroups : [];
}
public function setFilterGroups(array $filterGroups = null)
{
return $this->setData(self::FILTER_GROUPS, $filterGroups);
}
Ma non è chiaro cosa sia esattamente un gruppo di filtri grazie agli array non tipizzati di PHP.
Come posso usare un repository Magento 2 per fare cose del genere
- Mostrami tutti i prodotti con [questo SKU specifico]
- Mostrami tutti i prodotti creati dopo [questa data]
- eccetera.