获取 Magento 2 产品集合

获取 Magento 2 中的产品集合,意思就是在你运行命令后展示出商店中的项目。你可以用这篇文章的代码段获取到你需要产品集合的数量。让我们现在就开始获取你 Magento 2 商店里的产品吧!

在 Magento 2 中获取产品集合概览

  • 第一步:在 Mageplaza_HelloWorkld 块中声明
  • 第二步:在 phtml 文件中显示产品集合

第一步:在 Mageplaza_HelloWorkld 块中声明

使用 Mageplaza_HelloWorkld 模块的块(block)类,然后将 \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory 对象注入到模块块(block)类的构造函数中。
app/code/Mageplaza/HelloWorld/Block/HelloWorld.php

<?php
namespace Mageplaza\HelloWorld\Block;
class HelloWorld extends \Magento\Framework\View\Element\Template
{    
    protected $_productCollectionFactory;
        
    public function __construct(
        \Magento\Backend\Block\Template\Context $context,        
        \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory $productCollectionFactory,        
        array $data = []
    )
    {    
        $this->_productCollectionFactory = $productCollectionFactory;    
        parent::__construct($context, $data);
    }
    
    public function getProductCollection()
    {
        $collection = $this->_productCollectionFactory->create();
        $collection->addAttributeToSelect('*');
        $collection->setPageSize(3); // fetching only 3 products
        return $collection;
    }
}
?>

你可以请求有限数量或者无限数量的产品集合。

第二步:在 phtml 文件中显示产品集合

使用以下代码在 phtml 文件中打印产品集合

$productCollection = $block->getProductCollection();
foreach ($productCollection as $product) {
    print_r($product->getData());     
    echo "<br>";
}

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: