手动向现有产品添加自定义选项
我正在尝试向Magento中的现有产品添加一些自定义选项。似乎做工精细,我加下表所需要的行:手动向现有产品添加自定义选项
catalog_product_option
catalog_product_option_title
catalog_product_option_type_value
catalog_product_option_type_price
catalog_product_option_type_title
我也更新has_options
和required_options
了正确的产品,下表:
catalog_product_entity
catalog_product_flat_1
catalog_product_flat_2
catalog_product_flat_3
当我打开产品,选项不显示,实际上,它显示较少。订购它的按钮消失。当我打开编辑页面时,它会显示选项。保存后,它也出现在前端。
我错过了什么?
更新: 在手动检查保存操作后执行的所有查询后,我发现我错过了什么。当产品有选项时,它必须在不同的模板(或任何它在Magento中调用的)中显示它们。为此,您必须更改属性options_container
的值。
所以,有一个非常简单的解决方案。请在eav_attribute
表中查询attribute_id
。然后,对每个产品运行以下查询:
UPDATE `catalog_product_entity_varchar` SET `value` = 'container1' WHERE `attribute_id` = 836 AND `entity_id` = $productId;
这样做就可以了! :)
手动完成保存操作后执行的每一个查询后,我发现我错过了什么。当产品有选项时,它必须在不同的模板(或任何它在Magento中调用的)中显示它们。为此,您必须更改属性options_container
的值。
所以,有一个非常简单的解决方案。请在eav_attribute
表中查询attribute_id
。然后,只需运行下面的查询为每个产品:
UPDATE `catalog_product_entity_varchar` SET `value` = 'container1' WHERE `attribute_id` = 836 AND `entity_id` = $productId;
那会做的伎俩! :)
你真的不应该由于任何原因直接访问数据库。这破坏了使用EAV系统的能力和智能。
- 扩展Mage.php如果Magento的外(无视如果不)
- 让你想操纵
- 使用该收集写任何实体的集合/读取数据
- 保存自己头疼下来马路!
得说。这是我第一次与Magento合作,仅仅几天。自那以后没有碰过它,一点都不放过它。但谢谢你的补充。 :) – 2012-03-12 20:08:44
如果您发现并发现任何变通方法(如打开并保存产品的代码/ api),请发布答案。 – 2011-06-14 14:24:19
解决了,用解决方案更新了我的问题。一个非常容易的! – 2011-06-15 08:23:10
非常感谢你,做得好! (保存为最喜欢的问题...) – 2011-06-15 09:01:39