--- taxonomy.module.original 2004-12-24 17:49:46.000000000 +1100 +++ taxonomy.module 2005-02-08 18:59:54.000000000 +1100 @@ -450,13 +450,15 @@ } /** - * Find all terms associated to the given node. + * Find all terms associated to the given node. + * SQL hack made by x on xxxx-xx-xx, to sort taxonomies by vocab weight rather than by term weight */ function taxonomy_node_get_terms($nid, $key = 'tid') { static $terms; if (!isset($terms[$nid])) { - $result = db_query('SELECT t.* FROM {term_data} t, {term_node} r WHERE r.tid = t.tid AND r.nid = %d ORDER BY weight, name', $nid); + $result = db_query('SELECT t.* FROM {term_data} t, {term_node} r, {vocabulary} v '. + 'WHERE r.tid = t.tid AND t.vid = v.vid AND r.nid = %d ORDER BY v.weight, v.name', $nid); $terms[$nid] = array(); while ($term = db_fetch_object($result)) { $terms[$nid][$term->$key] = $term;