Am Ende habe ich mein eigenes benutzerdefiniertes Modul erstellt, um die Begriffe aus der Datenbank abzurufen und zu gruppieren / sortieren.
Bitte beachten Sie, dass ich den folgenden Code zum Posten leicht geändert und die geänderte Version nicht getestet habe. Es ist auch erwähnenswert, dass es für eine Site mit PostgreSQL geschrieben wurde, aber es sollte mit MySQL funktionieren.
/**
* Implements hook_block_info().
*/
function MYMODULE_block_info() {
$blocks['poptags'] = array(
'info' => t('Most Popular Tags'),
'cache' => DRUPAL_NO_CACHE
);
return $blocks;
}
/**
* Implements hook_block_view().
*/
function MYMODULE_block_view($delta = '') {
$block = array();
switch ($delta) {
case 'poptags':
$block['subject'] = t('Most Popular Tags');
$block['content'] = _MYMODULE_popular_terms();
break;
}
return $block;
}
function _MYMODULE_popular_terms() {
$vocabId = 1;
$links = array();
$results = db_query_range('SELECT taxonomy_term_data.tid, taxonomy_term_data.name, count(taxonomy_term_data.tid) AS times_used FROM taxonomy_term_data INNER JOIN taxonomy_index ON taxonomy_term_data.tid = taxonomy_index.tid WHERE taxonomy_term_data.vid = :vid GROUP BY taxonomy_term_data.tid, taxonomy_term_data.name ORDER BY times_used DESC', 0, 10, array(':vid' => $vocabId));
foreach ($results as $term) {
$links['term-link-' . db_escape_field($term->name)] = array('title' => $term->name, 'href' => drupal_get_path_alias('taxonomy/term/' . $term->tid));
}
return theme('links', array('links' => $links, 'attributes' => array('class' => 'term-links')));
}
Vergessen Sie nicht, MYMODULE
den Namen Ihres Moduls zu ändern . Zuletzt ändern Sie die $vocabId = 1
Zeile in der _MYMODULE_popular_terms
Funktion in das vid (Vokabular-ID) des Vokabulars, dessen Begriffe Sie auflisten möchten.
Beachten Sie, dass dies nur für Drupal 7 gilt, obwohl es nicht viel kosten würde, es auf Drupal 6 zu portieren.