Есть множество способов сделать это ... но только если вы хотите следовать потоку точно так же, как на вашем примере веб-сайта.
Самое важное, что приведенный вами пример добавляет продукты как отдельные продукты. Итак, хитрость в том, чтобы заставить пользователя думать, что это одна страница продукта, но на самом деле вам нужно сгруппировать продукты и вывести их так, как если бы они были одним элементом. Но все эти варианты - это 4 разных продукта в Magento. И они НЕ находятся в связке. Это довольно "приятный и легкий" поток, который не тормозит функциональность Magento-way :)
Для этого нужно просто сгруппировать продукты, например, по некоторому полю «Пользовательский атрибут», по специальному шаблону SKU (например, SKU-GROUP-1, SKU-GROUP-2 и т. Д.), Установить их как связанные или т. Д. И т. Д. И т. Д. Быть где-то после загрузки продукта - попробуйте загрузить эти дополнительные продукты и сохранить внутри «основного». Вместо того, чтобы просто оформлять вывод, как это делал данный веб-сайт, они выглядят как одна страница продукта.
В моем случае это сработало как шарм и работает довольно быстро. Проверьте это:
https://www.conranshop.co.uk/home-accessories/bedroom-linen/citrine-bed-linen-collection.html
РЕДАКТИРОВАТЬ:
Логика М1:
Создайте новый атрибут продукта под названием «Связанные SKU» (connectedSKU) - текстовое поле (varchar).
Добавьте наблюдателя для действия внешнего интерфейса: catalog_product_load_after. Внутри этого действия проверьте значение атрибута «connectedSKU», которое будет «SKU с разделителями-запятыми», например, «SKU1, SKU2, SKU3». Загрузите каждый товар по артикулу и сохраните его внутри основного объекта товара. Например
$productIDs = explode(',',$product->getLinkedSKU());
foreach($productIDs as $pid) $productsLoaded[] = Mage::getModel('cat/prod')->load($pid);
$product->setLinkedSkuProducts($productsLoaded);
- На FE для просмотра продукта phtml - если есть что-то внутри,
$product->getLinkedSkuProducts()
а затем просто выводить каждый продукт в виде связанного блока.
Таким образом, в админке вы можете установить атрибут «Основной продукт» со списком артикулов, которые будут загружены под этот основной объект.