In the actual state of Subproduct module, you can create variations and add variations and add attributes to those variations.
The problem is when you create subproducts, you have to choose at least one attribute for every variation you've created, even if that variation has no meaning to your product.
For example :
Let's imagine an ecommerce selling wheels and autoradios.
First we create a variation named "Size". With it we can add one wheel, and create subproducts for every available size.
Now we create a second variation named "Color". With it we can add one autoradio and create subproducts for each color available.
But in the actual state, we still have to choose one attribute in the "Size" variation, otherwise the subproduct module doesn't let create the subproducts.
This example tryes to show we can have multiple variations, but some of them only apply to some kind of products, not every product.
My request would be to be able to choose wich variable do apply to the product, then choosing wich attributes. Once done, the subproducts are created.
I'm planning to implement it, what should be the best way to do it ?
I've thought of adding one more step to the process of creating subproducts. That step will let us choose wich variations apply to the product. Then the normal step will take place, but with only the selected variations.
I'll submit a patch for review once i've got something usable.
Comments
Comment #1
darren ohA patch for this issue would be much appreciated. The problem grows exponentially the more variable products one adds.
Comment #2
nedjoYes, this is a needed addition.
Liekly the best approach would be to imitate what we do with taxonomy, where a vocabulary is assigned various node types. Here, we probably need a variation_ptype table. We should add to the variation definition UI the ability to select which ptypes apply. Then, when we create variations, we provide as options only relevant attribute sets.
Comment #3
darren ohComment #4
darren ohComment #5
kevinconaway commentedI would like to add my support for this issue.
I am attempting to build a site that sells bakery goods. It would be really nice to be able to specify the variations/attributes per product, not overall for the site. E.g., I can define a product, Black Forest Cake for $15.00 and then add a 7-inch, 9-inch, 15-inch etc variation just for that cake. It would also help if the "variation" module was broken out from "apparel" (as things that vary aren't necessarily apparel items), but that may be for another ticket.
Thanks,
Kevin
Comment #6
Zane Dog commentedAnother vote in favor.
A simple approach would be to leave out a variation if no attributes belonging to that variation are selected.
Comment #7
brmassa commentedguys,
since i consider this a bug, ive just post a correction: you dont need to choose all variations and if there is a variation with (yet) no attributes (you area going to add then later), the module will behave good.
the issue is http://drupal.org/node/77368 . there is no easy .patch because my module has diferent mods, which im gonna post separated.
some other issues that i worked on:
Subproducts combinations (not permutations) in http://drupal.org/node/75020
Attributes stocks summed during permutations creation in http://drupal.org/node/75445
Subproduct: doesnt show the atribute AND surcharge correctly in http://drupal.org/node/74441
regards,
massa
Comment #8
nedjoI don't think simply allowing any number of variations to be applied to a product works. We'll get invalid products created that way. What happens when a user creates a green large shirt and then a blue heavyweight one? See http://drupal.org/node/77368#comment-132353.
In any case, we need to address the fact that shirts may come in different sizes than, say, eggs. I think we need the fuller solution I suggested above, http://drupal.org/node/70519#comment-114136.
Comment #9
nedjoWell, we already do associate variations with product types. Each variation is registered to a particular product type, registered to the ptype field in the ec_variation table.
The problem seems to be when we're productizing non-product nodes. The way we've implemented this, they are treated as if they were an existing product type.
To solve this, it looks like we'd need to fix the way we productize non-product nodes. Likely we need to be able to designate product features for existing node type--shippable, supports variations, etc. Then we could save the node type as the 'ptype' associated with the variation.
Comment #10
darren ohAssociating variations with product types would not solve this issue. As nedjo points out, we can already do that. Most of us are running into the problem of variations that apply to only a single product. We don't want to create a new product type for a single product.
Comment #11
ryanrain commentedcomment for my tracker. this feature seems crucial.
Comment #12
brmassa commentedComment #13
darren ohThis is something that has to be worked on eventually. The issue should be kept open until a solution is provided.
Comment #14
brmassa commentedGuys,
Since the EC Live Subproducts has this feature and next Ecommerce version (v4) will merge this code to subproducts, i suggest to all to migrate to EC Live Subproducts.
regards,
massa
Comment #15
mdowsett commentedsubscribing...a year and a half later and ec4 is nowhere in site and ec_livesubproducts doesn't work reliably (and is no longer supported due to the eventual release of ec4).
Frustrating...
Comment #16
jboeger commentedThe subproducts issue is killing me.... my client wants to get off drupal if we can't get a simple size order option for shirts. Good golly!
Comment #17
mdowsett commentedmine was goo...til I got the basic product variation working...but now their not happy as we've added some non-T-shirt variables yo the mix which keeps us from adding any other products with variations....or more Tshirts (unless we delete these other variations).
I think you should define variations by product node rather than site-wide. And it's be easiest (interface wise if you could do it much like a webform grid where you define the X and Y axises and then check all of the options in the grid that apply for that specific product.
But this is probably all a pipe-dream...