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

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

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

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

Ответы

Ответ 1

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

DELETE FROM catalog_product_super_attribute
WHERE attribute_id = <id>

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

Ответ 2

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

Ответ 3

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

Ответ 5

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

Ответ 6

Основываясь на ответе 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"
)