我正在尝试为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
的值。
所以,有一个非常简单的解决方案。只需查看表attribute_id
中的eav_attribute
即可。然后,对每个产品运行以下查询:
UPDATE `catalog_product_entity_varchar` SET `value` = 'container1' WHERE `attribute_id` = 836 AND `entity_id` = $productId;
那就行了! :)
答案 0 :(得分:0)
在手动浏览保存操作后执行的每个查询后,我发现了我所遗漏的内容。当产品有选项时,它必须在不同的模板(或Magento中调用的任何内容)中显示它们。为此,您必须更改属性options_container
的值。
所以,有一个非常简单的解决方案。只需查看表attribute_id
中的eav_attribute
即可。然后,对每个产品运行以下查询:
UPDATE `catalog_product_entity_varchar` SET `value` = 'container1' WHERE `attribute_id` = 836 AND `entity_id` = $productId;
那就行了! :)
答案 1 :(得分:0)
您确实不应该出于任何原因直接访问数据库。这破坏了使用EAV系统的力量和足智多谋。