diff -rupN views/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc views_new/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc --- views/modules/taxonomy/views_handler_argument_term_node_tid_depth.inc 2008-09-04 05:21:30.000000000 +1000 +++ modules/taxonomy/views_handler_argument_term_node_tid_depth.inc 2009-07-17 13:00:53.000000000 +1000 @@ -39,6 +39,15 @@ class views_handler_argument_term_node_t '#description' => t('If selected, the breadcrumb trail will include all parent terms, each one linking to this view. Note that this only works if just one term was received.'), '#default_value' => !empty($this->options['set_breadcrumb']), ); + + $form['use_taxonomy_term_path'] = array( + '#type' => 'checkbox', + '#title' => t("Use Drupal's taxonomy term path to create breadcrumb links"), + '#description' => t('If selected, the links in the breadcrumb trail will be created using the standard drupal method instead of the custom views method. This is useful if you are using modules like taxonomy redirect to modify your taxonomy term links.'), + '#default_value' => isset($this->options['use_taxonomy_term_path']) ? $this->options['use_taxonomy_term_path'] : FALSE, + '#process' => array('views_process_dependency'), + '#dependency' => array('edit-options-set-breadcrumb' => array(TRUE)), + ); } function set_breadcrumb(&$breadcrumb) { diff -rupN views/modules/taxonomy.views.inc views_new/modules/taxonomy.views.inc --- views/modules/taxonomy.views.inc 2009-07-01 16:13:49.000000000 +1000 +++ modules/taxonomy.views.inc 2009-07-17 12:59:18.000000000 +1000 @@ -420,8 +420,13 @@ function views_taxonomy_set_breadcrumb(& if ($parent->tid == $argument->argument) { continue; } - $args[$argument->position] = $parent->tid; - $path = $argument->view->get_url($args); + if ($argument->options['use_taxonomy_term_path']) { + $path = taxonomy_term_path($parent); + } + else { + $args[$argument->position] = $parent->tid; + $path = $argument->view->get_url($args); + } $breadcrumb[$path] = check_plain($parent->name); } }