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

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

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

5 ответов


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

  1. создать атрибут
  2. перетащите его в соответствующий набор атрибутов
  3. перейти к phpmyadmin, таблица'catalog_eav_attribute и посмотрите на последний, обратите внимание на ‘атрибут id’, также обратите внимание на идентификатор продукта -> перейти к 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. экспортируйте все дочерние продукты и добавьте к ним новые значения атрибута и sku, импортируйте их обратно, и вы закончите или вам придется вручную измените все в admin без использования потока данных.

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


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


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

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

удачи. Не забудьте вернуться и рассказать нам, что вы сделали, чтобы это сработало.

спасибо, Джо!--1-->


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

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

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


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

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