【问题标题】:Magento API Product Create with Dropdown Attributes使用下拉属性创建 Magento API 产品
【发布时间】:2011-10-04 21:49:25
【问题描述】:

我正在尝试使用 Magento Core API product.create 方法加载产品。

Magento 企业版 1.10

除了为下拉属性插入值之外,我实际上取得了巨大的成功。我的理解是,当您调用 product.create 方法时,您只需将属性代码及其关联值添加为“Params”数组的一部分。我已将属性设置为下拉列表,以便它们可以作为过滤器包含在内,并且在尝试通过 API 插入产品之前,我已经添加了选项或“值”。产品上传成功后,无论我做什么,都不会选择该值。

以下是我尝试的语法示例:

'resolution'  => '3000',
'resolution'  => 1,
'resolution'  => array(1),
'resolution'  => array('3000'),
'resolution'  => 3000,

布尔属性接受 YES/NO 的值,我将值传递给常规文本字段没有问题。任何见解将不胜感激。

【问题讨论】:

  • 让我们把事情说清楚。你运行哪个magento版本?你有属性代码resolution,对吧?您是插入下拉项的 id 还是值本身?
  • 运行 Magento Enterprise 1.10。属性名称“分辨率”只是一个示例。我实际上有大约 50 个属性被设置为具有预定值的下拉属性。我尝试了两种插入下拉值本身的方法,下拉值中的值位置,以及下拉值的实际 ID - 都无济于事。我在接收其值的产品上还有其他文本字段属性。布尔属性也是如此。
  • 您能举个例子说明如何使用 Core API 将值传递给下拉属性吗?
  • 你看到官方例子magentocommerce.com/wiki/doc/webservices-api/api/…了吗? tax_class_id 是下拉属性,websites 是多选。
  • 你试过为tax_class_id做吗?它有效吗?也许您的自定义属性有问题。

标签: api magento attributes product


【解决方案1】:

好的 - 经过多次试验和错误 - 在将信息传递给下拉属性时,您似乎必须输入属性选项 ID 作为值。

您可以使用 product_attribute.options 方法和属性 ID 来获取这些 ID - 或者只是检查您的数据库。

Soo - 如果属性“test-dropdown”有一个下拉选项“橙色”并且该选项的 ID 是“220”:

'test-dropdown' => 220,

【讨论】:

  • +1,您知道是否可以从 API 创建这些选项吗?还是只分配值?
  • 不幸的是 - Magento 核心 API 不允许您创建任何属性。但是 - 我已经实现了 Netzkollectiv 的以下扩展,它扩展了核心 API 以允许完整的属性和属性集管理,以及可配置产品的管理和所有产品类型的可配置选项。 netzkollektiv.com/produkte/magento-extensions/…
  • 如果您正在处理自定义产品属性,请查看stackoverflow.com/a/10608275/529403
猜你喜欢
  • 2014-02-10
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
  • 1970-01-01
  • 2021-06-19
  • 1970-01-01
  • 1970-01-01
  • 2013-10-25
相关资源
最近更新 更多