Dans Magento 2, pouvez-vous utiliser un référentiel de produits pour filtrer par attributs de produit?
Dans Magento 2, vous pouvez utiliser un objet de critères de recherche
\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria,
et un référentiel
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
Pour récupérer une liste d'objets
$searchCriteria->getPageSize(10);
$list = $productRepository->getList($searchCriteria);
Cependant, l'objet searchCriteria n'a pas (semble-t-il?) Des capacités de filtrage direct. La classe de critères de recherche n'ont des méthodes pour ajouter quelque chose appelé 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);
}
Mais on ne sait pas exactement ce qu'est un groupe de filtres grâce aux tableaux non typés de PHP.
Comment puis-je utiliser un référentiel Magento 2 pour faire des choses comme
- Montrez-moi tous les produits avec [cette référence spécifique]
- Montrez-moi tous les produits créés après [cette date]
- etc.