Я хочу добавить Configurable products
внутрь Grouped product
. Пример как http://www.mitrelinen.com/products/savoy .
Здесь все продукты (пододеяльник, встроенный лист и т. Д.) Являются конфигурируемыми продуктами под одним сгруппированным продуктом. Так что это возможно, так как оно уже разработано.
Существует расширение для добавления настраиваемых продуктов в комплект поставки продукта ( https://www.wizkunde.nl/magento-2-configurable-bundle.html ), но оно не соответствует нашим требованиям.
Вот пост, где эта штука объяснена Magento Genius @marius: https://magento.stackexchange.com/a/6653/29175, и я ищу эту функцию для дальнейшего развития.
Любое руководство будет оценено.
Ответы:
Есть множество способов сделать это ... но только если вы хотите следовать потоку точно так же, как на вашем примере веб-сайта.
Самое важное, что приведенный вами пример добавляет продукты как отдельные продукты. Итак, хитрость в том, чтобы заставить пользователя думать, что это одна страница продукта, но на самом деле вам нужно сгруппировать продукты и вывести их так, как если бы они были одним элементом. Но все эти варианты - это 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);
$product->getLinkedSkuProducts()
а затем просто выводить каждый продукт в виде связанного блока.Таким образом, в админке вы можете установить атрибут «Основной продукт» со списком артикулов, которые будут загружены под этот основной объект.
источник
catalog_product_load_after
. внутри этого действия загрузите, например, значение специального атрибута, которое будет «SKU-разделенные SKU», например «SKU1, SKU2, SKU3». Загрузите каждый товар по артикулу и сохраните его внутри основного объекта товара. Таким образом, в админке вы можете установить атрибут «Основной продукт» со списком артикулов, которые будут загружены под этот основной объект. Используйте свое воображение дальше :)