В Magento есть ли способ удалить атрибут из настраиваемого продукта после его создания?

в Magento у меня есть куча настраиваемых продуктов, уже созданных, и теперь есть клиент, который передумал и хочет удалить один из атрибутов. Мне трудно понять, как это сделать b / c, я продолжаю получать сообщение об ошибке:

этот атрибут используется в настраивается товары. Вы не можете удалить его из набор атрибутов.

Я попытался войти в атрибут и изменить использовать для Создать Настраиваемый Продукт от "Да" до "нет", но это, похоже, ничего не делает при попытке удалить атрибут из существующих продуктов

6 ответов


удалить один супер продукт атрибут (как они называются) из всех настраиваемых продуктов вы можете выполнить этот SQL-запрос в базе данных:

DELETE FROM catalog_product_super_attribute
WHERE attribute_id = <id>

в таблице catalog_product_super_attribute связывает продукты с атрибутами супер продукта. Здесь можно добавлять и удалять атрибуты для создаваемых настраиваемых продуктов.


кажется, что сначала вы пытаетесь удалить атрибут из набора атрибутов, но вам нужно удалить его из настраиваемых продуктов, а затем из набора атрибутов. Откройте каждый настраиваемый продукт, перейдите на вкладку связанные продукты и удалите атрибут (и связанные продукты), который не требуется. Сохранить каждый продукт, а затем попробуйте удалить атрибут из набора.


просто используйте phpmyadmin и подключитесь к своей базе данных. Найдите таблицу eav_attribute. Удалите нужный атрибут.


может быть это может помочь: http://www.magentocommerce.com/boards/viewthread/6059/#t327478


к сожалению, это невозможно из стандартного backend магазина. Таким образом, вы должны посмотреть на решения SQL (я не знаком с ними).


опираясь на ответ христианской 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"
)