微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Magento 2 中以编程方式将相关、上单元、跨单元产品设置为产品?

如何解决如何在 Magento 2 中以编程方式将相关、上单元、跨单元产品设置为产品?

当我尝试以编程方式设置相关、追加销售和交叉销售产品时。 所以它第一次添加了相关产品,而不是追加销售产品。在这种情况下,我再次设置了产品数据,然后设置了追加销售,但会自动删除旧的相关产品集。

这是以下代码:-

    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $productObject = $objectManager->get('Magento\Catalog\Model\Product');
    $product_new = $productObject->loadByAttribute('sku',$sku);

    $linkDataAll = [];
    $skuLinks = "Ring1014,Ring10155";
    $skuLinks = explode(",",$skuLinks);

    foreach($skuLinks as $skuLink) {
    //check first that the product exist
    $linkedProduct = $productObject->loadByAttribute("sku",$skuLink);
    if($linkedProduct) {

    //The setLinkType() can be tree types “related”,“crosssell”,“upsell”,customlinked,accessory
    /** @var  \Magento\Catalog\Api\Data\ProductLinkInterface $productLinks */
    $productLinks = $objectManager->create('Magento\Catalog\Api\Data\ProductLinkInterface');
    $linkData = $productLinks //Magento\Catalog\Api\Data\ProductLinkInterface
    ->setSku($product_new->getSku())
    ->setLinkedProductSku($skuLink)
    ->setLinkType($links);
    $linkDataAll[] = $linkData;
    }

    }
    if($linkDataAll) {
    //print(count($linkDataAll)); //gives 3
    $product_new->setProductLinks($linkDataAll);
    }
    $product_new->save();

那么你能告诉我我在代码中做错了什么吗。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。