Pada akhirnya saya membuat modul khusus saya sendiri untuk mendapatkan persyaratan dari database dan mengelompokkannya / mengurutkannya.
Harap dicatat bahwa saya sedikit mengubah kode di bawah ini untuk posting dan saya belum menguji versi yang dimodifikasi. Perlu juga dicatat bahwa ini ditulis untuk situs yang menggunakan PostgreSQL, tetapi harus bekerja dengan MySQL.
/**
* 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')));
}
Jangan lupa ganti MYMODULE
nama modul Anda. Terakhir, ubah $vocabId = 1
baris dalam _MYMODULE_popular_terms
fungsi menjadi vid (id kosakata) dari kosakata yang ingin Anda daftarkan syaratnya.
Perhatikan ini hanya untuk Drupal 7, meskipun tidak perlu banyak port ke Drupal 6.