[gelöst] Quicktabs -> full_html in den Tab-Titles aktivieren/verwenden?
am 22.09.2013 - 13:13 Uhr in
Hallo Freunde,
ich nutze das Modul "Quicktabs" um Views-Blöcke als Navlist in einem Node darzustellen. In den Quicktabs-Settings vergibt man "Tab-Title" die in der Navlist verwendet werden.
Ich will diese Tab-Titles im Node aber überschreiben und noch ein Counter-Result hinzufügen ...
Tab-Title:
Restaurants
(230 results)
Die Counter-Results müssen in einem eigenen div/span-Container vorliegen damit ich sie themen kann. Leider akzeptiert Quciktabs aber kein full_html als format bzw. "plain text" ist irgendwo vordefiniert.
Leider weiß ich nicht, wo/wie ich das Format auf "full_html" umstellen kann damit die html-tags nicht "geplaint" werden.
In Quicktabs für D6 konnte man die Title + Counter-Results (in einem div) relativ leicht überschreiben ... da gab es überhaupt keine Probleme. Bei Quciktabs D7 beiße ich mir die Zähne aus ....
Wenn ich die Tab-Title mit hook_quicktabs_alter überschreibe, gibt Quicktabs sie folgendermaßen aus
<ul class="quicktabs-tabs">
<li class="active first">
<a id="quicktabs-tab-berlin_uebersicht-0" href="/berlin?qt-berlin_uebersicht=0#qt-berlin_uebersicht">Restaurants <span>230 results</span></a>
</li>
</ul>
Aus <span>230 results</span>
wird aber <span>230 results</span>
gemacht und somit ist die Ausgabe unbrauchbar ... ich brauche sie in full_html
Hat das von euch vielleicht schon jemand gemacht oder wüsste wo man da ansetzen könnte? Ich habe das die halbe Nacht lang versucht, bin aber gescheitert.
Danke und Gruß
Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
Dank der Hilfe aus dem
am 22.09.2013 - 15:04 Uhr
Dank der Hilfe aus dem IRC-Chat konnte das Problem gelöst werden.
Man nutzt dazu die Function theme_qt_quicktabs_tabset und fügt dort $tab['#options']['html'] = true; hinzu ...
Falls das in Zukunft jemand auch brauchen sollte ....
<?php
function MY_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];
if ($key == $vars['tabset']['#options']['active']) {
$item['class'] = array('active');
}
$tab['#options']['html'] = true; // <--------- hier eingefügt
$item['data'] = drupal_render($tab);
$variables['items'][] = $item;
}
}
return theme('item_list', $variables);
}
?>
Drupal rockt!!!