What is best for setting up the vocabulary for ubercart products? I'm setting up an Ubercart store on drupal 7.

I've created a new product class "tire" and I'm adding custom fields to the "tire" content type.  Some of these fields such as brand and speed rating should to pull their values from a vocabulary.

What is best for setting up the vocabulary?

Option 1)
Tires -&gt; Type -&gt; All-Season, Winter, etc...
Brand -&gt; Good Year, Dunlop, etc...
Speed Rating -&gt; S, T, H, etc...

Option 2)
Tires -&gt; Type -&gt; All-Season, Winter, etc...
Tire Properties -&gt; Brand -&gt; Good Year, Dunlop, etc...
Tire Properties -&gt; Speed Rating -&gt; S, T, H, etc...

Option 3)
Tires -&gt; Type       -&gt; All-Season, Winter, etc...
Tires -&gt; Properties -&gt; Brand        -&gt; Good Year, Dunlop, etc...
Tires -&gt; Properties -&gt; Speed Rating -&gt; S, T, H, etc...


I've started with option 3 already, but I've noticed that when I go to add a new tire the drop-downs are allowing values from the entire vocabulary, not just a specific child-node such as everything below "brand".

I'm not really sure what the best-practice is for setting vocabularies for custom fields using the CCK module.
The way your describing it cannot be used as a vocabulary taxonomy as each term is related to one another. What your describing is a type of content. Since each tire has an attribute of:


type
brand
speed rating


Your vocabulary should be those 3 separate ones, with each appropriate term under them. From there you would create a product in ubercart and those would be the 3 ATTRIBUTES and you would then add OPTIONS to those attributes. Ubercart's architecture isn't very appropriate for your type of setup last i tried. Technically you are only creating 1 product in ubercart and have 3 attributes for it with a bunch of options.

My suggestion would be to use Drupal Commerce as it would work perfectly for you as it will represent each product properly. Each unique tire will be represented as a product item. It will be alot of them as you have 3 attributes for each.