Добавить новый атрибут в существующий настраиваемый продукт magento

У меня есть около 500 настраиваемых продуктов, к которым мне нужно добавить новый атрибут.

Например, у них уже есть цвет в качестве атрибута. Как мне добавить размер к существующим настраиваемым продуктам?


person AntoNB    schedule 14.04.2011    source источник


Ответы (5)


Недостаточно добавить атрибут в набор атрибутов, а затем обновить атрибуты всех простых продуктов. Magento спрашивает, какие «настраиваемые атрибуты» использовать при первоначальном создании настраиваемого продукта; поэтому новый атрибут не будет применяться к существующим настраиваемым продуктам и их дочерним продуктам. Я протестировал приведенный ниже обходной путь БД на CE 1.6.2, и, похоже, он работает:

  1. Создать атрибут
  2. Перетащите его в соответствующий набор атрибутов
  3. Перейдите в phpmyadmin, таблица «catalog_eav_attribute» и посмотрите на последнюю, обратите внимание на «идентификатор атрибута», также обратите внимание на идентификатор продукта -> перейдите к catalog_product_entity и найдите нужный настраиваемый продукт, и обратите внимание на entity_id -> это product_id
  4. Перейдите к catalog_product_super_attribute и вставьте новую запись с product_id и attribute_id, обратите внимание на product_super_attribute_id
  5. Перейдите к catalog_product_super_attribute_label и вставьте новую запись с product_super_attribute_id и значением вашего нового атрибута, например «Цвет» или «Размер», которые вы использовали при добавлении атрибута в админку.
  6. Вернитесь к администратору и щелкните настраиваемый продукт, вы заметите, что ни один из ваших дочерних продуктов не связан с вашим настраиваемым продуктом.
  7. Нажмите на один из дочерних продуктов и выберите соответствующее значение атрибута, вы также можете изменить артикул.
  8. Экспортируйте все дочерние продукты и добавьте к ним новые значения атрибутов и артикулов, импортируйте их обратно, и все готово, или вам, возможно, придется вручную изменить все в администраторе без использования потока данных.

кредит: http://www.magentocommerce.com/boards/viewthread/43288/#t330918

person Joeymetro    schedule 14.11.2012
comment
Это также работает с CE 1.9.0.1 - спасибо за информацию Joeymetro - person Jon; 27.06.2014

Вы определяете этот атрибут в используемом наборе атрибутов, а затем обновляете все продукты с помощью потока данных.

person Anton S    schedule 14.04.2011
comment
с magento встроенной функцией импорта-экспорта: экспорт, изменение, импорт - person Anton S; 01.07.2013

Если размер является предполагаемым настраиваемым атрибутом, я не уверен, что это будет так просто. Magento не позволяет вам переопределять атрибуты, по которым можно настроить элемент после создания.

После создания атрибута и добавления его в набор атрибутов вам, вероятно, потребуется взломать его на уровне базы данных, чтобы сделать атрибут настраиваемым. Это означает, что ваши простые дочерние продукты также потребуют модификации, чтобы иметь атрибут размера.

Удачи. Обязательно вернитесь и расскажите нам, что вы сделали, чтобы заставить его работать.

Спасибо, Джо

person Joseph Mastey    schedule 14.04.2011

Попробуйте добавить атрибут при редактировании продукта, а не в разделе «Управление атрибутами».

Для меня он автоматически добавляет себя в этот набор атрибутов продуктов, а также во все другие продукты в этом наборе атрибутов.

На самом деле теперь у меня нет проблем с использованием раздела "Управление атрибутами" для добавления новых атрибутов.

person Hayden Thring    schedule 30.06.2013

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

Это быстрый обходной путь, если простых продуктов не так много.

person Dinko    schedule 22.10.2015