41

These are my thoughts on this brain twisting question. For the sake of understanding let us analyse them in different view point Examples GP Furniture Set, different size of knife set BP Personal computer system, Human Being (in literal sense, just for a fun :).) Self Existence GP This is somewhat zero in my opinion. GP is just like a cover that ...


18

As far as I know, the grouped product is has only one purpose. Group a set of simple products when displaying them on frontend. You should use grouped products when you want to show the customer that some products are part of a specific set but the customer does not have an obligation to buy the full set. The best example for grouped products is a furniture ...


15

Background It is not possible with the out-of-box API alone; documentation seems pretty clear on this as it documents no way of establishing selections, options for a bundle Aside from that, the lack of an api.xml file in the Mage_Bundle package is telling that there is no support. Contrast that with another product type which arrived after 1.0, such as ...


11

Go to the file: app/design/frontend/base/default/template/bundle/catalog/product/view/type/bundle/option/ Choose your selection method: I am writing the below code for select.phtml The simple process is to change (see the code in bold): <?php if ($this->_showSingle()): ?> <?php echo $this->getSelectionTitlePrice($_selections[0]) ?&...


11

It seems Magento left out a swath of code that should be calculating the VAT at that point. I think it was left out because the logic wasn't really straightforward. The problem is in the structure of the bundle; it has minimum and maximum prices, which also might contain different tax rates. A bundle itself doesn't have a singular tax rate set, since the ...


8

This is not possible out-of-the box with Magento. There are a few community extensions on Magento Connect - I have not used them personally. They used to be more prevalent - even Classy Llama had one. There was also one called Package Builder that I cannot find anymore. So this might be your best bet: Configurable Bundle by Wizkunde https://www.wizkunde....


8

Grouped Products Grouped products allow you to create a new product using one or more existing products in your store. For instance, let’s assume you have a “Barrack Obama Action Figure” and a “George W Bush Action Figure” already in your store and you wanted to sell them as a bundle. You would simply create a new Grouped Product (let’s call it “...


8

You code should like: /** @var $objectManager \Magento\TestFramework\ObjectManager */ $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); // instance of object manager /** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */ $productRepository = $objectManager->create(Magento\Catalog\Api\ProductRepositoryInterface:...


7

Actually, there is a way to get the option skus from the order item - and without having to load any products. Observe! foreach($order->getAllItems() as $item) { $options = $item->getProductOptions(); $optionIds = array_keys($options['info_buyRequest']['bundle_option']); $types = Mage_Catalog_Model_Product_Type::getTypes(); $typemodel =...


7

i know this is way too after the fact to be useful to you, but for future searchers... janw's basic answer is right, but a more magento-ey way to do it would be: $parentIds = Mage::getResourceSingleton('bundle/selection')->getParentIdsByChild($product->getId()); then you can load a product collection filtering on those ids.


7

hey You ca try below code $product_model = Mage::getModel('catalog/product'); // Load product $my_product_sku = 'YOUR SKU'; $my_product_id = $product_model->getIdBySku($my_product_sku); $my_product = $product_model->load($my_product_id); $qty_value = 13; // Add to cart (?) $cart = Mage::getModel('checkout/cart'); $cart->init(); $...


7

Don't try to implement nested complex product types in Magento. I did it for a different case and it's getting ugly quite fast and you can fall in many traps. Magento is just not designed for this. Extensions that promise this should be handled with care for the same reason. I would take a different approach, without using the configurable product at all: ...


7

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $product = $objectManager->get('Magento\Catalog\Model\Product')->load(YOUR_ID); $bundleObj=$product->getPriceInfo()->getPrice('final_price'); echo $bundleObj->getMinimalPrice();// For min price echo $bundleObj->getMaximalPrice(); // for max price Note: I am against of ...


7

Besides the controller pre|post dispatch events that don't do you much good, though you can still use them controller_action_predispatch_checkout_cart_delete and controller_action_postdispatch_checkout_cart_delete, you can use this one sales_quote_remove_item. You can get the sku like this: public function deleteItem($observer) { $item = $observer-&...


6

This is just my opinion, so don't shoot if you don't like it. I would use configurable products if the only configurable attribute is 'color'. Pro Using configurable products you take advantage of what Magento offers. Each product has it's own SKU, you can set out of stock only a few combinations, you can even make (custom) reports of how many red shirts you ...


6

Not sure if this fits your needs but here goes: Like you said set the actual product will be the one with the lowest weight. (Sage 25g). This is qty = 1(or you can consider 1 qty = 1g and set the product to be available for order only in increments of 25.) If the price for 50g = 2 * price of 25g , the price for is 100g = 4 * price of 25g... and so on, then I ...


6

Bundled products can be created with a fixed price, after that the special price can be a percentage of that. Using the fixed price will ignore any price changes in the simple products under it. Grouped products do not offer an option like that. But you can use Promotions > Catalog Price Rules. In the conditions tab you can specify the SKU of the product ...


6

So finally I was able to achieve this, first we need a events.xml For my requirement I needed this event observer for both frontend and adminhtml so the events.xml was create at app/code/Foo/CustomPrice/etc/events.xml. <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:...


5

Here is an example how to access the is salable state or the stock quantity of all associated child products. this first method is simply to fetch the child product ids from the bundled product. function getBundledProductChildIds(Mage_Catalog_Model_Product $product) { $childrenIds = []; if ($product->getTypeId() == Mage_Catalog_Model_Product_Type:...


5

Just simple solution for that Just Set that simple Product visibility to Not Visible Individually Hope this will help you and let me know if its not working


5

To replace a single method, use the around plugin and don't call the original method with $proceed()


5

Thanks fschmengler , I managed to solve this by using Plugin. Override/replace single method in block class: app/code/MySpace/MyModule/etc/di.xml <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Bundle\Block\Catalog\Product\...


5

You can use setChild() to replace a block by its alias. First create the new block with a name, then call setChild() via <action>: <referenceBlock name="order_items"> <block class="Vendor\App\Block\Adminhtml\Sales\Order\Items\Renderer" name="custom_renderer" template="Vendor_App::sales/creditmemo/create/items/renderer.phtml"/> <...


4

The answer was pretty simple: Website ID was zero and need to be 1 EDIT: Wanted to add to my answer since finding information for automating bundled products is lacking, and its the one feature that has yet to fully find its way into Magmi. If you're having trouble with $product->save(); try $product->getResource()->save($product); To ...


4

Building on Marius' answer, Qty would be desirable to manage your stock because Qty is not a defined unit of measure in Magento. Qty can be anything - a yard of fabric (length) or a pound of coffee (weight). You can even sell fractional quantities of items in Magento, and you can enforce quantity increments in your sales as well (e.g. you could stock 10.2 ...


4

Changing core methods might not be the best way to go about. I would suggest accepting backorders on the simple products making up the bundled product or turning off stock all together. Both settings can be found under System > Configuration > Catalog > Stock > Settings product stock This way your bundled product will always be 'in stock' ...


4

you get all bundle product ids by using below code $childrenIdArray = Mage::getResourceSingleton('bundle/selection') ->getChildrenIds($parentId, $required=true);


4

I'm new to magento and have the same requirement. I was able to solve this with this code snippet. $bundled_product = new Mage_Catalog_Model_Product(); $bundled_product->load($prodID); $typeInstance = $bundled_product->getTypeInstance(true); $selectionCollection = $typeInstance->getSelectionsCollection( $typeInstance->...


4

Even though you probably set the position for the bundle options, when generating the dynamic SKU the order is given by the position you set for each individual bundle option product. So you should also set the position for 'Simple1' to 1 and for 'Simple2' to 2. I rounded in red the position based on which the SKUs are ordered for the dynamic SKU.


4

If you will activate the "Template path hints" you will see that the template responsible for rendering this price is template/bundle/catalog/product/view/price.phtml. Now, if you go into bundle.xml you will find this template added like this with the name bundle.prices <PRODUCT_TYPE_bundle translate="label" module="bundle"> ...... ...


Only top voted, non community-wiki answers of a minimum length are eligible