/ / Magento 2 - getCollection повертає лише прості продукти - php, magento, magento2, magento2.2

Magento 2 - getCollection повертає лише прості продукти - php, magento, magento2, magento2.2

Я намагаюся отримати всі продукти. Я роблю так:

$objectManager->get("MagentoCatalogModelProduct")
->getCollection()
->addAttributeToSelect("*");

Але повертаються лише прості продукти.

Отримати НЕ ВРЕМЕННІ продукти за скупою працює:

$p = $objectManager->create("MagentoCatalogModelProductRepository")->get($sku);

Будь-яка ідея? Заздалегідь спасибі.

- Magento версія 2.2.0

Відповіді:

0 для відповіді № 1

Magento2 має заводський виклик концепції, це фон для виклику об'єкта моделі. Тому я думаю, що вам слід створити новий Factory перед тим, як викликати модель об'єкта.

$objectManager->get("MagentoCatalogModelProductFactory")->create()
->getCollection()
->addAttributeToSelect("*");

0 для відповіді № 2

Спробуйте це

У вашому блоковому файлі

<?php
namespace MageplazaHelloWorldBlock;
class HelloWorld extends MagentoFrameworkViewElementTemplate
{
protected $_productCollectionFactory;

public function __construct(
MagentoBackendBlockTemplateContext $context,
MagentoCatalogModelResourceModelProductCollectionFactory $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>";
}

це дає також згрупований та настроюваний продукт це wikk робота для мене, будь ласка, спробуйте це

ви можете спробувати також це посилання: https://www.mageplaza.com/how-get-product-collection-magento-2.html