[drupal-devel] [feature] Make taxonomy selection widget themable

Robrecht Jacques drupal-devel at drupal.org
Mon Sep 12 15:53:01 UTC 2005


Issue status update for 
http://drupal.org/node/30993
Post a follow up: 
http://drupal.org/project/comments/add/30993

 Project:      Drupal
 Version:      cvs
 Component:    taxonomy.module
 Category:     feature requests
 Priority:     normal
 Assigned to:  robertDouglass
 Reported by:  robertDouglass
 Updated by:   Robrecht Jacques
 Status:       patch (code needs review)

+1


I especially like the link mgifford provided: this would make it _very_
easy to select long taxonomy lists! (although that example only allows
for single select, right?). This is not possible with current drupal,
but providing the theming function someone could easily implement it.
This would make using (and reusing) taxonomies much easier.


As for passing $tree or not. I actually prefer to have $vid only, not
$tree as sometimes you don't need $tree at all.




Robrecht Jacques



Previous comments:
------------------------------------------------------------------------

Mon, 12 Sep 2005 13:48:13 +0000 : robertDouglass

Attachment: http://drupal.org/files/issues/taxonomy.txt (4.32 KB)

The taxonomy select widget becomes unmanagable very quickly. If there
are more than two levels in a hierarchy or more than X number of terms,
it is almost impossible to use. This patch makes it a themable element
so that creative UI designers can start cooking up better solutions.
Here are the changes, in detail:



* There is a new function theme_taxonomy_term_select which is a carbon
copy of the old _taxonomy_term_select, plus XDoclet comments.
* The old _taxonomy_term_select function calls the theme function using
the theme() syntax.
* taxonomy_form  has an extra parameter $title = NULL so that the label
on the form can be set by the public API. When NULL it defaults to the
vocabulary name as usual. The reason I need this and I think Drupal
needs this is that taxonomy is really useful for lists of items that
need to be reused. Take the list {good, bad, ugly}. This set of terms
could describe lots of things, defying any attempt to give the
vocabulary a catchall name. Now, with the updated taxonomy_form, I can
create a form element called 'Rate my code' and get the abovementioned
list. In the same form I could have another element called 'George Bush
is' and use the same list over again.
* taxonomy_form now has XDoclet comments.



------------------------------------------------------------------------

Mon, 12 Sep 2005 14:20:48 +0000 : moshe weitzman

great patch. this widget could certainly be prettier, especially for
small vocabularies (i.e. radio buttons or checkboxes). themers will
make that happen.


- is there any reason to keep _taxonomy_term_select(). You could call
the theme function directly from taxonomy_form()
- if we do keep it, perhaps collect $tree there and then pass $tree to
the theme function.




------------------------------------------------------------------------

Mon, 12 Sep 2005 14:24:58 +0000 : robertDouglass

I wanted to gather feedback before I deprecate or remove 
_taxonomy_term_select().


"perhaps collect $tree there and then pass $tree to the theme function

"
How do you think this would be easiest for themers?




------------------------------------------------------------------------

Mon, 12 Sep 2005 14:32:32 +0000 : mgifford

We have used this for some of our select lists for our other CMS (Back-
End.org):
    http://www.barelyfitz.com/projects/filterlist/


Might be worth considering bringing it over to Drupal.


There are other ways of approaching this too, but this seems to be a 
fairly easy way to deal with long lists.


There are some other javascript solutions that might be more
applicable, but this is one of the few that is clearly GPL.


Mike







More information about the drupal-devel mailing list