В Magento есть ли способ удалить атрибут из настраиваемого продукта после того, как он уже создан? - PullRequest
14 голосов
/ 13 марта 2011

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

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

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

Ответы [ 6 ]

16 голосов
/ 02 августа 2012

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

DELETE FROM catalog_product_super_attribute
WHERE attribute_id = <id>

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

3 голосов
/ 14 марта 2011

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

1 голос
/ 08 октября 2014

Просто используйте phpmyadmin и подключитесь к вашей базе данных.Ищите таблицу eav_attribute.Удалите атрибут, который вы хотите.

0 голосов
/ 25 сентября 2015

Опираясь на ответ Кристиана Давена, вы можете использовать следующее для удаления на основе имени attribute_code вместо самого attribute_id, просто чтобы убедиться, что вы ссылаетесь на правильный идентификатор:

DELETE FROM `catalog_product_super_attribute`
WHERE `attribute_id` IN (
    SELECT `attribute_id` FROM `eav_attribute`
    WHERE `attribute_code` = "attribute"
)
0 голосов
/ 21 ноября 2012

К сожалению, это невозможно из стандартного бэкэнда Magento. Поэтому вам нужно взглянуть на решения SQL (я не знаком с ними). ​​

0 голосов
/ 19 июля 2012

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

...