Опция: значение false для настраиваемых связанных продуктов, импортированных с помощью Magmi


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

Однако, используя Magmi, я вижу следующую проблему после импорта.

(Magmi модули используются: AttributeCleanup, Magmi_OptimizerPlugin, Magmi_ReindexingPlugin, CategoryImporter,ValueTrimItemProcessor, Magmi_ConfigurableItemProcessor)

В суперпродукте конфигурация атрибутов раздел Я вижу много Опций: false, где я обычно ожидаю увидеть значения опций связанных простых продуктов. Например, Опция: Красный или Опция: S42

Option: false where I would expect the option value

Как вы можете видеть, простые продукты имеют правильные значения, присвоенные пользовательским атрибутам:

Simple products with their custom attributes

Если я перейду к Быстрому простому созданию продукта и создам новый продукт, он появится правильно в разделе Конфигурация атрибутов суперпродукта.

Что я делаю не так?

ОБНОВЛЕНИЕ: Я заметил, что, несмотря на то, что в сетке указано, что для всех моих простых продуктов установлено значение Красный и Пунктирный , что, когда я нажимаю редактировать на одном из них, это показывает, что атрибуты на самом деле не установлены для продуктов. Как он может быть установлен и не установлен одновременно?

In 'edit' options are NOT set

Я заметил, что на отрисованной странице существует разница в JSON, встроенном в скрытый ввод для каждой строки. Импортированные строки имеют значение value_index, соответствующее столбцу value в eav_attribute_option_value, тогда как в той, которую я создал в интерфейсе администратора, значение value_index соответствует значению столбца value_id в eav_attribute_option_value. Но я бы предположил, что плагин Magmi импортирует это правильно?

ОБНОВЛЕНИЕ 2: Похоже, что атрибуты, созданные для простых продуктов во время импорт связан неправильно. Смотрите таблицу catalog_product_entity_varchar. value должен содержать идентификатор опции, но он содержит фактическое значение опции S40 в отличие от второй строки, которая создается с помощью пользовательского интерфейса:

Two attribute-product links one from import one from ui

ОБНОВЛЕНИЕ 3: Я нашел проблему и решение. См. Ответ.

Author: Michael, 2016-01-21

1 answers

Подсказки в ОБНОВЛЕНИИ 2 дали мне идею посмотреть backend_type атрибутов. Не спрашивайте меня, почему просто интуиция. В любом случае, они были настроены на varchar. Я изменил их на int, и это решило проблему. Теперь значения атрибутов записываются правильно во время импорта.

После создания атрибута через пользовательский интерфейс кажется, что настраиваемые атрибуты создаются с помощью backend_type int для выпадающего списка/выбора. Именно так работает Magento.

Магми импортировал бы атрибуты и храните их в catalog_product_entity_varchar и сохраняйте значение, а не идентификатор. Интересно, что Magento работал с использованием varchar для значений параметров, созданных в пользовательском интерфейсе, но как только запустил индексаторы, все начало исчезать.

 1
Author: Michael, 2016-01-21 12:11:10