Taxonomy and views exposed filter I have a taxonomy reference link appearing on a content type.
I have a view showing all nodes tagged with certain terms in that taxonomy vocabulary.

On the view page I configured an exposed filter (select box), with options to filter the view by taxonomy term.

When I use the exposed filter I get a url like in following example:
../viewpagepath?tid=5

When I manually type a different 'tid' as url parameter the active filter option in the exposed filter changes to the corresponding term name.

I used the Taxonomy display module to change the Taxonomy page to the same view.
However, when I click on the taxonomy reference link on the content type, I can't get the url to look like this ../viewpagepath?tid=5 so that the right filter option is active.

How do I do this?

I see 2 options:


Changing the term reference link on the content type, so I get the same url pattern. (I can't use Pathauto because it doesn't accept a '?' in the pattern).
Changing the exposed filter url to match a pattern set in pathauto.


Wich one is best? Wich hooks or configuration do I use to get the right result?
I've solved a similar problem with drupal_get_path_alias() and hook_form_alter(). In my case I link from my content-type to the taxonomy page with the following:

&lt;?php
// have a field with tags - in my content-type template I do
$terms = array();
foreach ($node-&gt;field_blog_post_tags['und'] as $key =&gt; $value) {
    $terms[] = '&lt;a href="' . $base_url . '/' . drupal_get_path_alias('taxonomy/term/' . $value['tid']) . '"&gt;' . $value['taxonomy_term']-&gt;name . '&lt;/a&gt;';
}
print implode(', ', $terms);
?&gt;


And to set the exposed filter I use hook_form_alter() in a custom module:

/**
 * Implements hook_form_alter().
 */
function YOUR_MODULE_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if ('views_exposed_form' == $form_id) {
    // term-id and vocabulary are part of arguments
    $args = func_get_args();
    // select your filter
    if (isset($args[0]-&gt;vocabulary_machine_name) &amp;&amp; 'YOUR_VOCABULARY' == $args[0]-&gt;vocabulary_machine_name) {
      // set the exposed filter with name 'YOUR_FILTER'
      $form_state['input']['YOUR_FILTER'] = $args[0]-&gt;tid;
    }
  }
}


Maybe it's helpful for you.