There is a problem with the current implementation of taxonomy_term_page function in taxonomy.module.
Right now, XML Feed URL it generates looks something like:
http://somedomain.com/taxonomy/term/83/0/feed
Which works just fine in all "good" browsers (e.g. Firefox, Safari...) but behaves bad in Internet Explorer - alas, the most widespread web browser. More specifically, when you click on it, instead of opening it as XML, IE displays "Save As" dialog. It creates all kinds of problems.
The reason IE does it, is because IE determines content type by extension. If the url was */feed.xml it would work.
I did a quick-n-dirty test, changed "feed" to "feed.xml" in three places under taxonomy_term_page() and everything looks to work just fine, IE behaves decently, now, too.
The new code snippet is:
-- snippet --
drupal_add_link(array('rel' => 'alternate',
'type' => 'application/rss+xml',
'title' => 'RSS - '. $title,
'href' => url('taxonomy/term/'. $str_tids .'/'. $depth .'/feed.xml')));
$output = taxonomy_render_nodes(taxonomy_select_nodes($tids, $operator, $depth, TRUE));
$output .= theme('feed_icon', url('taxonomy/term/'. $str_tids .'/'. $depth .'/feed.xml'));
return $output;
break;
case 'feed.xml':
$term = taxonomy_get_term($tids[0]);
-- snippet --
It would be great if this patch was integrated into the main source so me and many other people who need it, do not have to patch every release.
Comments
Comment #1
nicolash commented