Say you have data, like car make, type, and model. The taxonomy tree I've created would look something like this:

Honda
--Sedans
-----Accord
--Coupes
-----S2000
--Motorcycles
Toyota
--Sedans
-----Camry
--Coupes

This works well for my purposes and Hierarchical Select makes this function exactly like I want it to when entering a node. However, I'm worried about the functionality when creating or sorting lists. For example, I might like to let users view all the "coupes" on the site. Is there a better way to structure this or handle it? Ideally, I'd have a field on the content type for "make", "type", and "model" but I'm not sure how I would force the "Model" field, for example, to be limited to "Accord" if someone selected "Honda" as the make.

Any suggestions? I'm thinking there has to be a better way to handle this.

Comments

vm’s picture

afaik, you're on the exact track that needs to be taken. Certainly alot of work to get it 100% correct because of the size of the vocabularies needed.

seancorrales’s picture

So even though "coupes" under "Toyota" has a different tid than "coupes" under "Honda", I would be able to return all nodes that belong to the any coupe model?

Things get a bit more difficult in that the project will actually be the entry of individual cars with unique VINs. So essentially I'm using this taxonomy to properly categorize the node.

Did I mention I have to let the end users add terms to the taxonomy? Since, for example, I don't have "Ford" in the system but they need to enter a Ford vehicle.

Anonymous’s picture

Well, you could add another category which describes the type of vehicle.
That way you can select all coupes. It is a bit dangerous because there is no check that both vehicle types selection are the same, although you could check that with a custom module.

seancorrales’s picture

Initially I thought that would be the ticket - three separate taxonomies but the problem is, for example, Honda makes motorcycles but Toyota or Ford don't. I don't want users entering a 1972 Honda Gran Tornio, you know? I have to be certain that the make, type, and model makes sense.

As someone else has suggested, I'm already using the hierarchical select module. I wish I could just enter each term into a separate field when it's saved. Maybe a bit of custom logic could trace the bottom child term's lineage and add that to some fields?

mouse77e’s picture

http://drupal.org/project/hierarchical_select Just what i think it is your looking for now like me you'll just have to sort out the information architecture and bite the bullit - sorry

seancorrales’s picture

Actually that's what I'm currently using - it provides the exact functionality I'm looking for as far as letting users drill down to specific levels but I'm worried about how it'll handle node sorting.

vm’s picture

hierachal_seclect doesn't handle node sorting. It points to the term page listing all nodes with the term/terms used.

to handle listing and sorting investigate the views.module

seancorrales’s picture

Yeah, Views will be my go to for building all the different lists and uh...views. Hierarchical select is only used for creating/editing nodes to allow end users to quickly drill down to the exact model they're looking for.

Even though "coupes" would appear in multiple places in the taxonomy and therefore have a different TID, would views be able to easily return all nodes tagged with children terms of the coupe terms?

miron-1’s picture

Wouldnt this all depend on how the customer would use your site? (ie. user friendly)

Why not get a Blue Book (ie. car resale guide) at the book store and see how they classify vehicles. It is the most sold vehicle guide of all time, so they obviously tried alot of stuff before getting to their structured content.