Magento 2:ソート順と製品コレクションの制限


16

IDオーダー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つのコレクションブロックがあり、その1つがページングである場合に、ページングを意図していない他のコレクションが破損する問題も修正されました。後者の 'setCurPage'はこれを修正しました
00-BBB

setPageSizeは私のために働いていない
サーガルパリキSGR
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.