Hay muchas formas de hacerlo ... pero solo si desea seguir el flujo exactamente igual que en su sitio web de ejemplo.
Lo más importante es que el ejemplo que dio agrega productos como productos individuales. Entonces, el truco aquí es hacer que el usuario piense que se trata de una página de un solo producto, pero de hecho necesita agrupar los productos y generarlos como si fueran un solo elemento. Pero todas estas opciones son 4 productos diferentes en Magento. Y NO están dentro del paquete. Es un flujo bastante "agradable y fácil" que no frena la funcionalidad de Magento-way :)
Para hacer eso, solo agrupe los productos, por ejemplo, por algún campo de Atributo personalizado, por plantilla de SKU especial (por ejemplo, SKU-GROUP-1, SKU-GROUP-2, etc.), configúrelos como relacionados o etc., etc. VAYA a algún lugar después de cargar el producto: intente cargar estos productos adicionales y guárdelos dentro del "principal". En lugar de solo la salida de estilo como lo hizo el sitio web de ejemplo dado, parecen ser una sola página de producto.
Eso funcionó de maravilla en mi caso y funciona bastante rápido. Compruébalo:
https://www.conranshop.co.uk/home-accessories/bedroom-linen/citrine-bed-linen-collection.html
EDITAR:
Lógica M1:
Cree un nuevo atributo de producto llamado "SKU vinculadas" (LinkedSKU) - campo de texto (varchar).
Agregue un observador para la acción de la interfaz: catalog_product_load_after. Dentro de esta acción, verifique el valor del atributo "LinkedSKU" que será "SKU separado por comas", por ejemplo, "SKU1, SKU2, SKU3". Cargue cada producto por SKU y guárdelo dentro del objeto principal del producto. P.ej
$productIDs = explode(',',$product->getLinkedSKU());
foreach($productIDs as $pid) $productsLoaded[] = Mage::getModel('cat/prod')->load($pid);
$product->setLinkedSkuProducts($productsLoaded);
- En FE en la vista de producto phtml: si hay algo dentro
$product->getLinkedSkuProducts()
y que solo muestra cada producto como bloque escrito.
Entonces, en admin, puede establecer el atributo "Producto principal" con la lista de SKU que se cargarán bajo este objeto principal.