获取 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>";
}