【问题标题】:Creating product in Magento 2 programmatically以编程方式在 Magento 2 中创建产品
【发布时间】:2018-04-25 19:56:21
【问题描述】:

我正在尝试在 Magento 2 中以编程方式创建产品,一切正常,除了我得到的一些产品:

处理您的请求时出错
指定商店的 URL 键已存在。

这是我目前的代码:

$sku = $row[0];
            $name = $row[1];
            $getSku = $product->getIdBySku($sku);

            if($getSku) {
                echo 'Product with SKU '.$sku.' already exists';  

            } else {

                    $product->setSku($sku); // Set your sku here
                    $product->setName($name); // Name of Product
                    $product->setAttributeSetId(4); // Attribute set id
                    $product->setStatus(1); // Status on product enabled/ disabled 1/0
                    $product->setWeight(10); // weight of product
                    $product->setStoreId(1);
                    $product->setVisibility(4); // visibilty of product (catalog / search / catalog, search / Not visible individually)
                    $product->setTaxClassId(0); // Tax class id
                    $product->setTypeId('simple'); // type of product (simple/virtual/downloadable/configurable)
                    $product->setPrice(100); // price of product
                    $product->setStockData(
                                            array(
                                                'use_config_manage_stock' => 0,
                                                'manage_stock' => 1,
                                                'is_in_stock' => 1,
                                                'qty' => 999999999
                                            )
                                        );
                    $product->save();



            $this->messageManager->addSuccess('Product with SKU '.$sku.' Added');
            }

SKU 和产品名称来自已经完成的 CSV...所以不用担心。我正试图解决这个问题,看起来它试图创建一个同名的产品 url?也许有 2 个同名的产品,magento 可以生成自定义 url,例如 name-1 name-2 而不是使用相同的,我认为这就是问题...

【问题讨论】:

    标签: magento2


    【解决方案1】:

    我已经修复了,如果其他人也有同样的问题,因为命名的原因,你可以这样做:

    $product->setName($name . " - " . $sku);
    

    而且网址会不一样

    【讨论】:

      猜你喜欢
      • 2017-01-08
      • 1970-01-01
      • 2012-11-15
      • 2023-04-04
      • 2014-03-04
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      相关资源
      最近更新 更多