如何在没有对象管理器的情况下以编程方式创建可配置产品

时间:2018-04-02 03:08:32

标签: magento magento2

SO / Google中的所有答案仅显示如何使用对象管理器执行此操作。正如大多数人所知,不建议使用对象管理器。

那么,如何使用对象管理器创建可配置产品?

以下代码是我得到的:

public function __construct(ProductInterfaceFactory $factory,
                            ProductRepositoryInterface $repository)
{
    $this->repository = $repository;
    $this->factory = $factory;
}

public function setEntity($source)
{
    $product = $this->factory->create();
    $product->setSku($source->getId());
    $product->setName($source->getDescription());
    $product->setPrice($source->getUnitPrice());
    $product->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH);
    $product->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED);
    $this->repository->save($product);
}

0 个答案:

没有答案