Block der Terms anzeigt / Zuviele DB_queries
Eingetragen von Stephan (11)
am 25.12.2006 - 04:08 Uhr in
am 25.12.2006 - 04:08 Uhr in
Dieser Block hier, zeigt eine Liste von Terms - Sortiert nach Vokabular - von der gerade angezeigten Node. Sehr schön.
Allerdings produziert der Block pro Vokabular einen zusätzlichen Datenbank-Query! Gar nicht schön.
Kann mir jemand helfen das mit Caching zu versehen?
<?php
if (arg(0) == 'node' && is_numeric(arg(1)) && is_null(arg(2))) {
$nid = (int)arg(1);
$vocabularies = taxonomy_get_vocabularies();
foreach($vocabularies as $vocabulary) {
if ($vocabularies) {
$terms = taxonomy_node_get_terms_by_vocabulary($nid, $vocabulary->vid);
if ($terms) {
print '<div class="terms">' . $vocabulary->name;
$items = array();
foreach($terms as $term){
$items[] = l($term->name, 'taxonomy/term/'.$term->tid);
}
print theme('item_list', $items);
}
}
}
}
?>
- Anmelden oder Registrieren um Kommentare zu schreiben
Modul entdeckt. Perfekt.
am 25.12.2006 - 20:00 Uhr
Habe das Modul entdeckt, das das Problem, und weit darüber hinaus, Block Caching [1] perfekt erledigt. Jeden Tag entdecke ich, wie großartig Drupal ist.
[1] http://drupal.org/project/blockcache
Im übrigen hat es den Seiten aufbau sofort enorm spürbar beschleunigt. Und das sogar auf einer noch relativ simplen Seite. Voodoo!