【问题标题】:How to set Sku Type & Price Type of Bundle Product programmatically in Magento?如何在 Magento 中以编程方式设置捆绑产品的 Sku 类型和价格类型?
【发布时间】:2011-03-09 00:19:13
【问题描述】:

我以编程方式在 Magento 中添加了一个捆绑产品,使用简单产品的所有选项/属性以及使用专门用于捆绑选项的 3 种方法:-

  1. setBundleOptionsData()
  2. setBundleSelectionsData()
  3. setCanSaveBundleSelections()

结果是新添加的捆绑产品在管理部分显示得很好,并采用了以下属性的一些默认值:-

  1. sku_type
  2. weight_type
  3. shipment_type
  4. price_view
  5. price_type

但是,这个捆绑产品根本没有显示在前端,我不知道为什么。可以请人帮我吗?我试过搜索但无济于事。请任何人建议我做错了什么?

我还需要控制 Bundle Product 的上述特殊属性,以便在以编程方式插入时也可以修改它们。有人可以在这一点上帮助我吗?

非常感谢任何帮助。

【问题讨论】:

标签: php magento shopping-cart bundle product


【解决方案1】:

经过相当多的测试,我找到了其中的一些方法。
如果你看得很清楚“saveAction()”方法,在“Adminhtml”模块的“ProductController.php”页面中,你会发现有一行“$product->save();”。

如果你对这个“save()”方法进行了一些研究,你会看到 Magento 正在使用一些“setData()”方法来处理简单产品的属性。

因此,如果您使用“价格”、“重量”、“sku”、“名称”、“描述”、“短描述”...字段作为一维数组,您只需添加所需的属性Bundle Product 到这个数组列表中,Magento 将完成剩下的工作。

所以我的意思是该数组将包含以下元素,就这么简单:-

Array
(
  ['name'] => 'simple',
  ['description'] => 'test',
  ['short_description'] => 'simple test',
  ['sku_type'] => 0,
  ['sku'] => 'simple01',
  ['weight_type'] => 1,
  ['weight'] => 12,
  ['price_type'] => 1,
  ['price'] => 250,
  ['shipment_type'] => 0
)

现在你需要通过“setData()”方法传递这个数组,然后你就去宾果游戏了。

请记住,如果您相信,Magento 真的很漂亮,否则它会很苛刻和粗鲁。
希望对您有所帮助!

【讨论】:

  • 因为像你这样的程序员,他们花时间挖掘代码并找出它是如何工作的,所以它很漂亮。我也会这样做 :) 对于其他想要快速提示和技巧的人,他们讨厌 Magento :P
  • @Vdt - 非常感谢您的客气话和对您有帮助的干杯!我也相信您正在成为一名优秀的开发人员!祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
  • 2012-05-18
  • 1970-01-01
  • 2011-03-07
  • 2019-05-04
  • 1970-01-01
相关资源
最近更新 更多