【发布时间】:2011-03-13 18:54:01
【问题描述】:
在 Magento 中,我已经创建了一堆可配置的产品,现在有一个客户改变了主意并想要删除其中一个属性。我很难弄清楚如何做到这一点 b/c 我不断收到一条错误消息:
此属性用于可配置 产品。您无法将其从 属性集。
我已尝试进入属性并将 用于创建可配置产品 从“是”更改为“否”,但在尝试从现有产品中删除属性时似乎没有任何作用
【问题讨论】:
标签: php zend-framework magento attributes
在 Magento 中,我已经创建了一堆可配置的产品,现在有一个客户改变了主意并想要删除其中一个属性。我很难弄清楚如何做到这一点 b/c 我不断收到一条错误消息:
此属性用于可配置 产品。您无法将其从 属性集。
我已尝试进入属性并将 用于创建可配置产品 从“是”更改为“否”,但在尝试从现有产品中删除属性时似乎没有任何作用
【问题讨论】:
标签: php zend-framework magento attributes
要从所有可配置产品中删除一个超级产品属性(它们被称为),您可以在数据库中执行以下 SQL 查询:
DELETE FROM catalog_product_super_attribute
WHERE attribute_id = <id>
catalog_product_super_attribute 表将产品链接到超级产品属性。您可以在此处为创建的可配置产品添加和删除属性。
【讨论】:
SELECT product_super_attribute_id FROM catalog_product_super_attribute_label WHERE value = 'your attribute name';
您似乎要先从属性集中删除该属性,但您需要先从可配置产品中删除它,然后再从属性集中删除。打开每个可配置产品,转到关联产品选项卡并删除不需要的属性(和链接产品)。保存每个产品,然后尝试从集合中移除该属性。
【讨论】:
只需使用 phpmyadmin 并连接到您的数据库。 查找 eav_attribute 表。 删除你想要的属性。
【讨论】:
【讨论】:
不幸的是,这在标准 Magento 后端是不可能的。 因此,您必须查看 SQL 解决方案(我不熟悉这些)。
【讨论】:
基于 Christian Davén 的回答,您可以使用以下内容根据 attribute_code 名称而不是 attribute_id 本身进行删除,以确保您引用了正确的 ID:
DELETE FROM `catalog_product_super_attribute`
WHERE `attribute_id` IN (
SELECT `attribute_id` FROM `eav_attribute`
WHERE `attribute_code` = "attribute"
)
【讨论】: