Как разрешить дублирование SKU в Magento

У меня есть клиент, который занимается розничной продажей аккумуляторов сторонних производителей, и некоторые аккумуляторы могут заменить несколько OEM-моделей.

Например, сторонний SKU 12345 может заменить Toshiba N23 и HP 53214, поэтому мой клиент хотел бы создать два продукта с одинаковыми SKU в интерфейсе (по сути, это один и тот же продукт). Однако Magento по умолчанию не допускает дублирования SKU.

Мое текущее решение состоит в том, чтобы установить SKU как необязательный для серверной части и добавить еще один атрибут с именем Model, который допускает дублирование значений, и отображать модель во внешнем интерфейсе.

Есть лучший способ это сделать? Или можно разрешить дублирование SKU?

Тянь Бо
Благородные технологии


person Tian Bo    schedule 23.04.2009    source источник


Ответы (4)


Мне кажется, вы нашли хорошее решение. Я не уверен, что вам следует пытаться иметь повторяющиеся значения для SKU по двум причинам.

Во-первых, весь смысл SKU в том, что это уникальный идентификатор. Это единственная причина его существования. Если у вас будут повторяющиеся значения, то это не уникальный идентификатор; это просто еще один атрибут. Но, конечно, Magento все еще нуждается в уникальном идентификаторе для работы, а это значит, что это дополнительное поле, которое ведет нас именно туда, где вы сейчас находитесь.

Тем не менее, мы подошли ко второму пункту, который заключается в следующем... Я не совсем гуру Magento, но я создал свою долю сайтов электронной коммерции и одну вещь, которую я узнал, это то, что они зависят от определенных нерушимых правил. работать должным образом. Одно из них заключается в том, что уникальные идентификаторы уникальны как на уровне базы данных, так и на уровне приложения. Таким образом, большая часть веб-сайта зависит от этого для правильной работы. Что, я уверен, относится и к Magento.

Так что попытка изменить такую ​​базовую предпосылку на что-то столь сложное приведет только к ужасам и медленному падению в безумие.

person Manos Dilaverakis    schedule 23.04.2009
comment
SKU = Stock Keeping Unit, уникальный идентификатор для целей подсчета запасов. Таким образом, мы всегда справлялись с этим так, чтобы иметь базовый SKU со счетчиком, прикрепленным к концу. Затем у вас есть пользовательский атрибут, который содержит номер детали производителя, чтобы помочь вам в инвентаризации. Реальные компании проводят инвентаризацию, и SKU является последним аргументом в отношении того, что представляет собой элемент в вашей системе. - person Fiasco Labs; 12.09.2011

Это звучит как хорошее решение, которое я немного расширил, однако то, что я сделал с несколькими магазинами, заключалось в том, чтобы создать видимый атрибут ITEM_SKU (артикул товара) — сделать его видимым и доступным для поиска, а затем объединить store_id с SKU Magneto, чтобы сделать его уникальным. Так становится SKU (Store_id "-" SKU).

person J Ellams    schedule 11.03.2011

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

Правильный способ разрешить дублирование SKUS — НЕ (если только вы не хотите переписать большие части фреймворка). Однако вы МОЖЕТЕ добавить настраиваемый атрибут к продуктам, которые имеют все те же настройки, что и «sku», за исключением настройки, требующей уникальности значений.

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

person Chris Duncan    schedule 19.01.2012

Почему бы вам не создать 1 продукт (SKU 12345) и не разместить этот продукт в нескольких категориях. Таким образом, ваши несколько категорий будут Toshiba и HP. Один и тот же продукт (артикул 12345) будет указан в списках Toshiba и HP.

person Yogesh Nath    schedule 01.11.2012