Quicktabs by default strips html tags in Quicktab title by default. To add additional markup of text changes, hook_quicktabs_alter() is not sufficient the quicktabs tabset needs to be overriden to allow html markup in titles.
hook_quicktabs_alter() to modify title. In the example modification for the first tab is done
<?php
function ji_custom_quicktabs_alter(&$quicktabs){
if(isset($quicktabs->tabs[0]['title'])){
$title = $quicktabs->tabs[0]['title'];
$quicktabs->tabs[0]['title'] = '<span class="link-badge-text">'.$title.'</span><span class="link-badge-badge-wrapper"><span class="link-badge link-badge-menu_badges_execute_view">2414</span></span>';
}
}
?>
Modifying the theme theme_qt_quicktabs_tabset to allow html markup in title
<?php
/**
* Overrides Theme function to output tablinks for classic Quicktabs style tabs.
*/
function ji_theme_qt_quicktabs_tabset($vars) {
$variables = array(
'attributes' => array(
'class' => 'quicktabs-tabs quicktabs-style-' . $vars['tabset']['#options']['style'],
),
'items' => array(),
);
foreach (element_children($vars['tabset']['tablinks']) as $key) {
$item = array();
if (is_array($vars['tabset']['tablinks'][$key])) {
$tab = $vars['tabset']['tablinks'][$key];
$tab['#options']['html'] = TRUE; // Added this to override to allow HTML in titles.
if ($key == $vars['tabset']['#options']['active']) {
$item['class'] = array('active');
}
$item['data'] = drupal_render($tab);
$variables['items'][] = $item;
}
}
return theme('item_list', $variables);
}
?>
--
https://drupal.org/comment/8343639#comment-8343639
http://drupalcontrib.org/api/drupal/contributions!quicktabs!quicktabs.ap...
Technologies: