Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 如何使用RESTAPI添加可配置的产品?_Magento - Fatal编程技术网

Magento 如何使用RESTAPI添加可配置的产品?

Magento 如何使用RESTAPI添加可配置的产品?,magento,Magento,API文档描述了如何使用rest添加“简单产品”: 但是可配置产品呢? 我们正在使用t恤衫,唯一允许用户选择尺码的方法是创建可配置的产品,这就是我们需要它的原因 至于使用API的原因,我们将有一个桌面应用程序在magento上创建/更新产品 提前感谢。Magento API在1.7.0.0之前非常慢,比如每1-2秒或更长时间保存一个简单的产品(插入)。没有关联产品的可配置产品需要更长的时间才能保存。 试试玛格米。它使用原始查询每秒插入20个产品。它没有1.7的更新。*而且似乎很快也不会有更新

API文档描述了如何使用rest添加“简单产品”:

但是可配置产品呢? 我们正在使用t恤衫,唯一允许用户选择尺码的方法是创建可配置的产品,这就是我们需要它的原因

至于使用API的原因,我们将有一个桌面应用程序在magento上创建/更新产品


提前感谢。

Magento API在1.7.0.0之前非常慢,比如每1-2秒或更长时间保存一个简单的产品(插入)。没有关联产品的可配置产品需要更长的时间才能保存。 试试玛格米。它使用原始查询每秒插入20个产品。它没有1.7的更新。*而且似乎很快也不会有更新

使用它的API,而不是CSV方式。

您的代码必须创建可配置属性(具有“用于创建可配置产品”=>“是”的属性,如大小和颜色)。事实上,所有属性都必须在使用admin的ingest()之前创建,或者在代码中创建,这相当简单。好的方面是新的选项值(X,XL,…)将由Magmi添加/更新

Magmi的代码可能看起来不像Magento的代码,但总体而言,它做得很好

需要有一个快速导入脚本,这不仅仅是显而易见的原因。在将数据添加到Magento之前,通常需要清理数据并将其结构化。因为有很多数据,并且不是所有的数据都与预期的模式匹配,所以您将出现一些错误,脚本将中断,并将添加中断的产品。 如果您需要添加10k产品,则至少需要3-4小时,可能需要更长的时间。现在想象一下,您会注意到2小时后第一件事情出错,因为在脚本完成之前,您无法很好地知道数据已添加。

这应该可以工作

{
  "cart_item": {
    "quote_id": 7,
    "sku": "WJ01",
    "qty": 1,
    "product_option": {
      "extension_attributes": {
        "configurable_item_options": [
          {
            "option_id": "93",
            "option_value": 58
          },
          {
            "option_id": "141",
            "option_value": 169
          }
        ]
      }
    }
  }
}

虽然这个问题很老了。但因为我目前正在从事一项类似的任务,即在Magento 1.9.x中创建可配置的产品,并将其与简单的产品相关联

例如,对于Magento版本1.9.2.4,答案在代码中:

// file: app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Admin/V1.
// line: 149

if ($type !== 'simple') {
        $this->_critical("Creation of products with type '$type' is not implemented",
            Mage_Api2_Model_Server::HTTP_METHOD_NOT_ALLOWED);
    }

我想没有办法用自己的方法扩展API

糟糕的是,Magento的产品API本身可能并不慢,$product->save()很慢,并且由API和Magento默认代码中的所有其他相关导入代码调用。这是如何回答问题的?
// file: app/code/core/Mage/Catalog/Model/Api2/Product/Rest/Admin/V1.
// line: 149

if ($type !== 'simple') {
        $this->_critical("Creation of products with type '$type' is not implemented",
            Mage_Api2_Model_Server::HTTP_METHOD_NOT_ALLOWED);
    }