Skip to main content

Allow HTML markup in quicktabs

Submitted by amitsedai on
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'] = ''.$title.'2414'; } } ?> 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.api.php/7

Technologies