Question

I'm working on a Magento 2 website for a friend and I've now realised that for the 500+ products he's manually added, they're simple products with virtual options? I told him to set the products up as configurable products so I'm not quite sure what's happened (see below image). Is there a way of converting all of these virtual products to a type that will allow for an address to be entered during checkout?

Virtual Products

Was it helpful?

Solution

You can do it only direct in DB. For example with query

update catalog_product_entity set type_id = 'simple' where type_id = 'virtual';

But beware, this query converts all virtual products to simple. (better to create db backup before start)

OTHER TIPS

Maybe this helps somebody who looks it up.

If you create product configurations and dont add weight to the generated products they will be virtual. If you add weight they will be simple products.

If you want to change a single virtual product to a simple product, give the product a weight in the backend and change it to "this product has weight".

However if you want to change all virtual products at once you could add a weight to all selected products at once by using the "update attributes" option under "products->catalog". Meanwhile you cant set the "this product has weight" option. So you probably have to do that in the DB or per product.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top