Tagadelic - как можно создать общее облако тегов?

Главные вкладки

Аватар пользователя xeal xeal 17 июля 2008 в 23:29

Как сделать так чтобы общее облако тегов ( т.е. всех словарей, которое находится по ссылке http://example.com/Tagadelic ) отображалось в виде блока на всех страницах сайта? Видел модуль для связки Виевс с Tagadelic, но он только для 5ой версии Друпала. Может есть другой способ?

Комментарии

Аватар пользователя VladSavitsky VladSavitsky 18 июля 2008 в 0:05

Другой способ всегда есть! Можно написать сниппет, который будет выводить то, что вам нужно. Можно хакнуть модуль и добавить тот функционал, которого не хватает (и поделиться с автором).
И т.д.

Аватар пользователя batbug batbug 18 июля 2008 в 4:28

можно сделать блок со следующим содержимым и вставлять его на все страницы

<?php
$block = module_invoke('tagadelic', 'block', 'view', 0);
print $block['title'];
print $block['content'];
?>

данный сниппет вызывает модуль tagadelic, в нём - хук block, у хука - операцию view, а последняя цифра - это дельта блока (ее можно посмотреть на странице со списком всех блоков). Вызвав блок и записав его в $block, сниппет затем выводит заголовок и содержимое.

Аватар пользователя Tinnka Tinnka 29 декабря 2010 в 7:42

batbug wrote:
можно сделать блок со следующим содержимым и вставлять его на все страницы

спасибо огромное, очень пригодилось

Аватар пользователя goodboy goodboy 18 июля 2008 в 10:20
<?php
       $vocs = array(1,3,4); //Список словарей
        $tags = tagadelic_get_weighted_tags($vocs, 6, 20);
        $tags = tagadelic_sort_tags($tags);
        $output = theme('tagadelic_weighted',$tags);
        print $output;
?>
Аватар пользователя goodboy goodboy 1 октября 2008 в 17:20

Нужно темизировать:

/**
 * theme function that renders the HTML for the tags
 * ingroup themable
 */

function THEME_tagadelic_weighted($terms) {
  foreach ($terms as $term) {
    $output .= l($term->name, taxonomy_term_path($term), array('class'=>"tagadelic level$term->weight", 'rel'=>'tag')) .  "<span>" . " (".$term->number_of_posts.")"  .   "</span> \n";
  }
  return $output;
}

Количество материалов содержится в переменной $term->number_of_posts