Фильтры По Опциям - Как Сделать Правильно

Привет, рад что идет активное обсуждение этой темы.

Вступление:

1. То что на витрине отображается как отдельный товар - отдельный URL, есть отдельная сущность которая всегда должна отображаться как отдельная единица товара и в кастомерке (везде на поиске, в категориях, в фильтрах) и в админке

2. Все то что имеет отдельное количество например "футболка синия, XL" (вариация, комбинация или обычный продукт) должно быть отдельной сущностью с которой можно работать через Импорт Экспорт и выгружать синхронизировать с 1С или Яндекс.Маркет (сейчас так умеют обычные товары и вариации).

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

Как я вижу эту реализацию:

1. Все опции на которых строятся вариации всегда должны иметь дубликат в виде характеристик.

2. Родительский продукт который содержит вариаций всегда должен иметь все характеристики которые есть у его продуктов-вариаций.

Эти два пункта позволят сделать следующее:

- все вариации можно будет фильтровать - в результате будет отображаться родительский товар

- вероятно упростим импорт вариаций (т.е. привязка к опциям будет делаться через характеристики)

3. Все товары, которые должны отображаться в фильтре и магазине отдельно для каждого цвета - будут создаваться отдельным полноценным товаром.

Теперь к примерам.

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

Берем Wildberries:

https://www.evernote.com/l/AQHIyVanM8lGRJuWuDa7hHUVC3HwbbU6IxE

теперь поясняю.

1. Для того чтобы отдельные цвета отображались как отдельные товары мы их создаем как полноценные товары.

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

3. У каждого товара из пункта 1. есть вариации, на картинке это только размеры.

Сейчас передо мной стоит только один вопрос, как правильно реализовать пункт 2, т.е. группировать товары по определенному признаку.