Thanks for sharing this process. I know variants have been released now, but you lose a lot of control by using a variant vs a product. I like the idea of using other cms elements to link everything together.
In my case I have maps that come in different colors. I originally set up my store to have color variants for each map. A lot of important information gets lost or cannot be changed for the variants. For example, when I use a product on Instagram, all my variants have the same name (with different images). It would be nice to have the color name in the product name, especially since deep linking isn’t a thing yet. I’m also not a huge fan of the dropdown limitations for selecting the variant, and would rather have something visual (especially since we’re talking colors).
My current workaround is having a cms collection for “Colors” and a cms collection for “Source maps”. A bulk of the product information lives in those two collections, and is reused in the individual product, eg “Map X (red)”. This would get the source map information from “Map X” and the color information from “red” in the color collection. I can then display a list collection on the product page that matches the current source map and display the color variants that way (either as swatches or thumbnail images, etc), that link to the product, eg “Map X (blue)”.
This also allows me to display all my variants in a shopping grid. Right now you can only display a product and you can’t surface variants. So if you have 4 products with 12 variants, you could have a product grid of 48 items instead of just 4. Think of a Bonobos shopping page where you see a grid of shirts, but they’re all just the same parent shirt product with different colors/styles.
Are there benefits to product variants that I’m missing out on? I’m wondering before I commit to the workaround method and create 48 products in this way. I honestly don’t think it saves time either way, since you have to populate different info on the variant section (thumbnails, dimensions). Thoughts?