Php Magento 2-getCollection仅返回简单产品
我正在努力得到所有的产品。我是这样做的:Php Magento 2-getCollection仅返回简单产品,php,magento,magento2,magento2.2,Php,Magento,Magento2,Magento2.2,我正在努力得到所有的产品。我是这样做的: $objectManager->get('Magento\Catalog\Model\Product') ->getCollection() ->addAttributeToSelect('*'); 但只返回简单的产品 按sku获取未退回的产品可以正常工作: $p = $objectManager->create('\Magento\Catalog\Model\ProductRep
$objectManager->get('Magento\Catalog\Model\Product')
->getCollection()
->addAttributeToSelect('*');
但只返回简单的产品
按sku获取未退回的产品可以正常工作:
$p = $objectManager->create('\Magento\Catalog\Model\ProductRepository')->get($sku);
有什么想法吗?
提前谢谢
--
Magento 2.2.0版Magento2有概念调用工厂,它是调用模型对象的后台。所以我认为在调用对象模型之前,您应该创建一个新的工厂
$objectManager->get('\Magento\Catalog\Model\ProductFactory')->create()
->getCollection()
->addAttributeToSelect('*');
试试这个
在块文件中
<?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('*');
return $collection;
}
}
?>
和您的.phtml文件
$productCollection = $block->getProductCollection();
foreach ($productCollection as $product) {
print_r($product->getData());
echo "<br>";
}
$productCollection=$block->getProductCollection();
foreach($productCollection作为$product){
打印($product->getData());
回声“
”;
}
它还提供了分组和可配置的产品
这对我很管用请试试这个
您也可以尝试此链接:
对不起,我一直在做其他项目。试过了,还是只得到简单的产品。无论如何谢谢你