Массовый импорт пользовательских атрибутов Magento

Мне было интересно, пытался ли кто-нибудь когда-нибудь массово импортировать пользовательские атрибуты в базу данных Magento? У моего клиента есть магазин Magento, специализирующийся на продаже музыкальных инструментов, и он хочет добавить фид покупок Google (используя расширение этого имени от Rocket Web), чтобы продавать товары в Google Покупках. Проблема в том, что мне нужны как MPN (номер продукта производителя), так и бренд (например, Gibson) для работы канала покупок, оба из которых не загружаются автоматически системой POS магазинов.

То, как в настоящее время работает POS-система, заключается в том, что когда продукт добавляется, название / номер SKU / описание / цена и т. д. загружаются в магазин Magento, что означает, что клиенту не нужно добавлять продукт дважды. Проблема в том, что, поскольку MPN и Brand не обязательно являются стандартными атрибутами, POS-система не загружает ни один из них в Magento, и поэтому у меня теперь есть 1000 продуктов без них, и они, по-видимому, имеют решающее значение для расширения Google Shopping Feed. .

В настоящее время я работаю над получением таблицы каждого из продуктов SKU, MPN и брендов из локальной базы данных POS-системы (из которых каждый из продуктов имеет все 3), но как только я это получу, мой вопрос таков: у меня есть простой способ сослаться на продукты, которые в настоящее время находятся в базе данных Magento (скорее всего, по SKU, поскольку обе базы данных содержат один и тот же SKU для каждого из элементов) и применить два настраиваемых поля к каждому из продуктов: MPN и Brand? Я создал пользовательские атрибуты «MPN» и «кошачий бренд» (которые я могу использовать в ленте покупок Google для сопоставления с пользовательскими атрибутами) и заглянул в базу данных Magento, но я не могу найти их нигде, но я нашел таблицу с именем «catalog_product_flat_1», который, как мне кажется, представляет собой плоскую БД, используемую для индексации или чего-то еще, но он выглядит идеально для достижения того, чего я хочу, поскольку я могу легко искать SKU и применять два настраиваемых атрибута в качестве столбцов для каждого продукта. Хотя что-то мне подсказывает, что это будет не так просто.

Любые мысли были бы большим подспорьем, спасибо за ваше время.


person Steve Vincent    schedule 24.06.2014    source источник


Ответы (1)


Magento использует модель данных EAV, что означает, что ваши атрибуты разбиты на несколько таблиц. Взгляните на любые таблицы с именами «сущность», «eav», «атрибут» или «значение», если хотите понять, как все это работает.

То, что вы, вероятно, ищете, это catalog_product_entity_varchar или catalog_product_entity_text. В этих таблицах entity_id — это идентификатор вашего продукта (отличается от SKU, но вы можете связать product_id с SKU), а attribute_id соответствует таблице eav_attribute.

Короче говоря, то, что вы хотите сделать, это посмотреть на свою таблицу eav_attribute, извлечь поля entity_type_id, attribute_id для ваших атрибутов MPN и кошачьего бренда, которые вы сделали, а затем вы можете вставить свои данные в catalog_product_entity_varchar. (или _text, если ваши атрибуты используют это вместо этого)

person Don    schedule 24.06.2014