Magento 2: Сортуйте порядок та обмежте збір продукції


16

Мені потрібно сортувати колекцію продуктів за замовленням IDC DESC та додати обмеження до колекції продукту. Ось мій код:

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

Відповіді:


31

Просто додайте цей код addAttributeToSort('entity_id', 'desc')у свою колекцію.

Оскільки продукт відповідає структурі EAV, ви можете використовувати addAttributeToSort('attribute_code', 'sort_order')

Для обмеження використання setPageSize()та setCurPage()методів використання колекції :

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

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

1
Ви не відповідали граничній частині.
Хашид

@Hashid оновив відповідь.
Роман Снітко

Чудово! Це також вирішило проблему, коли на сторінці було встановлено 2 колекційні блоки, один з яких був підказок, який порушив іншу колекцію, яка не мала бути пенінг. "SetCurPage" на останньому зафіксував це 🥳
00-BBB

setPageSize не працює для мене
Sagar Parikh SGR
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.