Обращаю внимание, что вариант с опциями не слишком работоспособен. Так как при заказе товара в контроллере cart.php происходит подмена товаров по индусскому принципу
$data = array_filter($this->request->post['option']);
//76150 - циферблат
//76149 - корпус
//109365 - черный корпус
//109363 белый корпус
//109364 серый корпус
//109366 белый циферблат
//109370 черный циферблат
//109367 зеленый циферблат
//109368 красный циферблат
//109369 синий циферблат
$korpus = preg_replace("/[^0-9]/", '', $data['76149']);
$ciferblat = preg_replace("/[^0-9]/", '', $data['76150']);
if(($korpus == "109365") AND ($ciferblat == "109366")){$product_id = "135128";} //Ч+Б 135128
if(($korpus == "109365") AND ($ciferblat == "109370")){$product_id = "135127";} //Ч+Ч 135127
if(($korpus == "109365") AND ($ciferblat == "109367")){$product_id = "135125";} //Ч+З 135125
if(($korpus == "109365") AND ($ciferblat == "109368")){$product_id = "135129";} //Ч+К 135129
if(($korpus == "109365") AND ($ciferblat == "109369")){$product_id = "135126";} //Ч+С 135126
if(($korpus == "109363") AND ($ciferblat == "109366")){$product_id = "135123";} //Б+Б 135123
if(($korpus == "109363") AND ($ciferblat == "109370")){$product_id = "135122";} //Б+Ч 135122
if(($korpus == "109363") AND ($ciferblat == "109367")){$product_id = "135120";} //Б+З 135120
if(($korpus == "109363") AND ($ciferblat == "109368")){$product_id = "135124";} //Б+К 135124
if(($korpus == "109363") AND ($ciferblat == "109369")){$product_id = "135121";} //Б+С 135121
if(($korpus == "109364") AND ($ciferblat == "109366")){$product_id = "135133";} //С+Б 135133
if(($korpus == "109364") AND ($ciferblat == "109370")){$product_id = "135132";} //С+Ч 135132
if(($korpus == "109364") AND ($ciferblat == "109367")){$product_id = "135130";} //С+З 135130
if(($korpus == "109364") AND ($ciferblat == "109368")){$product_id = "135134";} //С+К 135134
if(($korpus == "109364") AND ($ciferblat == "109369")){$product_id = "135131";} //С+С 135131
Соответственно просто включить опцию не получится. Хотя выбранные параметры опции передаются в обработчик cart.
В теории, можно у каждого из 15 товаров создать по 500 опций и как-то их сверять между собой. Но, собственно, в этом задача и состоит. Как это сделать рациональнее, с учетом "не прямой" передачи товара в корзину.