【问题标题】:Magento 2 - getCollection returns only simple productsMagento 2 - getCollection 只返回简单的产品
【发布时间】:2018-04-18 09:44:56
【问题描述】:

我正在尝试获取所有产品。我是这样做的:

$objectManager->get('Magento\Catalog\Model\Product')
            ->getCollection()
            ->addAttributeToSelect('*');

但只退回简单的产品。

通过 sku 获取 NOT RETURNED 产品可以正常工作:

$p = $objectManager->create('\Magento\Catalog\Model\ProductRepository')->get($sku);

有什么想法吗? 提前致谢。

-- Magento 2.2.0 版

【问题讨论】:

    标签: php magento magento2 magento2.2


    【解决方案1】:

    Magento2 有概念调用Factory,是调用模型对象的背景。所以我认为你应该在调用对象模型之前新建工厂。

    $objectManager->get('\Magento\Catalog\Model\ProductFactory')->create()
            ->getCollection()
            ->addAttributeToSelect('*');
    

    【讨论】:

    • 对不起,我一直在做其他项目。试过了,仍然只得到简单的产品。还是谢谢你
    【解决方案2】:

    试试这个

    在你的块文件中

    <?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>";
    }
    

    它还提供了分组和可配置的产品 它对我有用,请试试这个

    你也可以试试这个链接: https://www.mageplaza.com/how-get-product-collection-magento-2.html

    【讨论】:

      猜你喜欢
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多