diff --git a/contrib/current_search/plugins/current_search/item_group.inc b/contrib/current_search/plugins/current_search/item_group.inc index 7e2cc6c..1a74e48 100644 --- a/contrib/current_search/plugins/current_search/item_group.inc +++ b/contrib/current_search/plugins/current_search/item_group.inc @@ -69,7 +69,7 @@ class CurrentSearchGroup extends CurrentSearchItem { // Performs token replacemenets and themes the group title. $data = array('facetapi_facet' => facetapi_facet_load($facet_name, $searcher)); - $title = filter_xss(token_replace($field_pattern, $data)); + $title = filter_xss(token_replace($field_pattern, $data, array('adapter' => $adapter))); $build[$facet_name]['title']['#markup'] = theme('current_search_group_title', array('title' => $title)); // Builds the list. diff --git a/facetapi.tokens.inc b/facetapi.tokens.inc index 6ac7548..d0f8fa3 100644 --- a/facetapi.tokens.inc +++ b/facetapi.tokens.inc @@ -118,6 +118,11 @@ function facetapi_token_info() { 'description' => t('The machine readable name of the active item\'s facet.'), ); + $facet['facet-title'] = array( + 'name' => t('Facet title'), + 'description' => t('The overridden title of the active item\'s facet block, if it was overridden. Otherwise, it defaults to facet label.'), + ); + return array( 'types' => $types, 'tokens' => array( @@ -226,6 +231,7 @@ function facetapi_tokens($type, $tokens, array $data = array(), array $options = elseif ('facetapi_facet' == $type && !empty($data['facetapi_facet'])) { $facet = $data['facetapi_facet']; + $options += array('adapter' => NULL); foreach ($tokens as $name => $original) { switch ($name) { @@ -236,6 +242,15 @@ function facetapi_tokens($type, $tokens, array $data = array(), array $options = case 'facet-name': $replacements[$original] = check_plain($facet['name']); break; + + case 'facet-title': + $replacements[$original] = check_plain($facet['label']); + + if ($adapter = $options['adapter']) { + $facet_settings = $adapter->getFacet($facet)->getSettings('block'); + $replacements[$original] = isset($facet_settings->settings['title_override']) && !empty($facet_settings->settings['title_override']) ? check_plain($facet_settings->settings['title']) : check_plain($facet['label']); + } + break; } } }