9

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

19

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)

  • 3
    Alternatively you can change from "This item has no weight" to "This item has weight". You can leave weight amount 0 too. – Macas Nov 9 '17 at 10:11
18

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.

protected by Community Nov 24 '17 at 9:37

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.