Magento 2: Urutkan pesanan dan batasi koleksi produk


16

Saya perlu mengurutkan koleksi produk berdasarkan ID pesanan DESC dan menambahkan batas ke koleksi produk. Ini kode saya:

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

Jawaban:


31

Cukup tambahkan kode ini addAttributeToSort('entity_id', 'desc')ke koleksi Anda.

Karena produk mengikuti struktur EAV, Anda dapat menggunakan addAttributeToSort('attribute_code', 'sort_order')

Untuk membatasi penggunaan setPageSize()dan setCurPage()metode pengumpulan :

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

$collection 
    ->setPageSize(10) // only get 10 products 
    ->setCurPage(1)  // first page (means limit 0,10)
    ->load(); 

1
Anda belum menjawab bagian batas.
Hashid

@Hashid memperbarui jawabannya.
Roman Snitko

Bagus! Ini juga memperbaiki masalah ketika memiliki 2 blok koleksi di halaman, salah satunya paging, yang merusak koleksi lain yang tidak dimaksudkan untuk paging. 'SetCurPage' pada yang terakhir memperbaiki ini 🥳
00-BBB

setPageSize tidak berfungsi untuk saya
Sagar Parikh SGR
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.