Реализовал такой функционал. Допустим у нас есть размер 41 42 43 и есть цвета для 41 42 размеров белый и черный, а для 43 только черный. Когда покупатель выбирает 41 или 42 размер, то ему дают на выбор два цвета, если выбрал 43-й размер, то только черный цвет. Пока не выбрал размер, опция цвет не активна.
В админке в опциях товара, для опции мы можем указать родительскую опцию (для цвета это будет размер). Для значений указываем родительские значения родительской опции. Вложенность зависимостей ограничена вашей фантазией. Можно заставить покупателя выбирать сначала размер, потом цвет, потом материал и т. д.
Для такого функционала пришлось править код ядра магазина, как модуль оформить не выйдет. Потому, если кому надо, все решаем в индивидуальном порядке за определенную плату.
Если интересно могу сделать демо сайт.
Можно сгенерировать прайс со всеми возможными вариантами продуктов. В нашем примере это будет такой список:
Продукт размер 41 цвет белый
Продукт размер 41 цвет черный
Продукт размер 42 цвет белый
Продукт размер 42 цвет черный
Продукт размер 43 цвет черный