Drupal 6 uses a simple flag to prevent generation of the entire taxonomy tree so that other modules can handle the taxonomy form field. Currently two modules use this flag, Hierarchical Select and TaxiSelect, but many custom solutions are probably out there to handle the poor performance related to taxonomy_get_tree().

For the node form, a simple check on the variable should be added:

<?php
      if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id
        && ($node = $form['#node']) && isset($form['taxonomy']) && !variable_get('taxonomy_override_selector', FALSE)) {
        //...
      }
?>

A similar check is needed on the admin parent / relations select lists

The simple workaround that the other modules use is to set the weight to be greater than the weight of the highest system weight of modules that ignore the flag: Eg: content_taxonomy, i18ntaxonomy, og_vocab - probably others out there.

Comments

cronix’s picture

subscribing

Alan D.’s picture