Создание продукта в Magento 2 программно - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь создавать продукты программно в Magento 2, все работает, за исключением некоторых из них, которые я получаю:

There has been an error processing your request
URL key for specified store already exists.

Это мой код:

$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, вместо того, чтобы использовать один и тот же, я думаю, в этом проблема ...

1 Ответ

0 голосов
/ 25 апреля 2018

Я исправил это, в случае, если у кого-то еще есть та же проблема, из-за именования, вы можете сделать что-то вроде этого:

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

И URL будет другим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...