The faceted browsing mechanism does not work if the facet contains an ampersand ("&"). The reason for this is that drupal_urlencode(), which is used in the l() function call, double-escapes ampersands with "%2526;". When clicking on a facet to search the query will be sent off as an already-encoded entity: "Foo %26 Bar", instead of "Foo & Bar".
I have tracked this down to the link being built in theme_faceted_search_ui_category().
function theme_faceted_search_ui_category($category, $path) {
// Note: get_label() is responsible for filtering its returned string.
if ($path) {
//$label = '<a href="' . rawurlencode($path) . '">' . $category->get_label(TRUE) . "</a>";
$label = l($category->get_label(TRUE), $path, array('html' => TRUE));
}
else {
$label = $category->get_label(TRUE);
}
// Note: Tooltips rely on class 'faceted-search-category'.
return '<span class="faceted-search-category">'. $label .'<span class="faceted-search-count"> ('. $category->get_count() .')</span></span>';
}
Any thoughts on how to fix this?
Active
1.0
User interface
No activities found.