Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento 2-getCollection仅返回简单产品_Php_Magento_Magento2_Magento2.2 - Fatal编程技术网

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());
回声“
”; }
它还提供了分组和可配置的产品 这对我很管用请试试这个

您也可以尝试此链接:

对不起,我一直在做其他项目。试过了,还是只得到简单的产品。无论如何谢谢你