Magento 2: Sortierreihenfolge und Einschränkung der Produktsammlung

16

Ich muss die Produktkollektion nach ID-Reihenfolge DESC sortieren und die Produktkollektion einschränken. Hier ist mein Code:

$objectManager     = \Magento\Framework\App\ObjectManager::getInstance();
$productCollection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\CollectionFactory');
$collection        = $productCollection->create()
    ->addAttributeToSelect('*')
    ->load();
Pankaj Sharma
quelle

Antworten:

31

Fügen Sie einfach diesen Code addAttributeToSort('entity_id', 'desc')Ihrer Sammlung hinzu.

Da das Produkt der EAV-Struktur folgt, können Sie verwenden addAttributeToSort('attribute_code', 'sort_order')

Um die Verwendung setPageSize()und setCurPage()Methoden einer Sammlung einzuschränken :

$collection = $productCollection->create()
    ->addAttributeToSelect('*');

$collection 
    ->setPageSize(10) // only get 10 products 
    ->setCurPage(1)  // first page (means limit 0,10)
    ->load(); 
Amit Bera
quelle
1
Sie haben den Limit-Teil nicht beantwortet.
Hashid
@Hashid hat die Antwort aktualisiert.
Roman Snitko
Groß! Dies behebt auch ein Problem, wenn auf einer Seite zwei Sammlungsblöcke vorhanden sind, von denen einer das Blättern unterstützt und die andere Sammlung zerstört hat, die nicht für das Blättern gedacht war. Die 'setCurPage' auf der letzteren hat diese 🥳
00-BBB
setPageSize funktioniert nicht bei mir
Sagar Parikh SGR