1

Manage fields - Add new field: Type of data to store

Sometimes I wonder why to choose Term reference or a regular List (float/integer/text) over the other, when I would like to "force" my users to select one or multiple values from a list.

Taxonomy vocabulary and a Term reference field pros:

  • new terms can be added right in the textbox (see "Autocomplete term widget (tagging)")
  • separate sites are created automatically for the different terms where referenced nodes are listed (no separate view has to be added, but can be if necessary)
  • views can easily be created
  • terms hierarchy
  • terms can be reordered easily
  • list of terms can be extended easily
  • terms are easily fieldable, which means more display possibilities when viewing a given node
  • ?

Term reference field cons:

  • ?

List (float/integer/text) field pros:

  • views can easily be created
  • the field is closely related to the given content type, no separate vocabularies have to be added
  • ?

List (float/integer/text) field cons:

  • after adding some nodes with the given field, and going to "Field settings" for changing them, I get the message: "There is data for this field in the database. The field settings can no longer be changed." (example screenshot)
  • ?

I would appreciate if you could tell me some other pros/cons over the other when having to force the user to select some values from a list.

2

This is my personal opinion:

Use taxonomy terms is you might need to change them later, re-arrange them, add or remove (yes remove, bad, but ok), share them between content types and have a page per each listing all the content that have it and also provide an RSS feed of the same.

Use options list or CKK option list is you know for sure the options will never change, if you need to have a key-value configuration if you want to share them between content types, but don't want to have listing pages of the content that have it. Also fields can have grain level permissions and don't generate RSS feeds.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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