cloud tag with count number of times the tag is use.
I take this code from the site, sorry I don't remember the node. and change it to what i wanted.
Hope to help some one.
<?php
class tag
{
var $name = "";
var $count = 0;
var $tid = 0;
function getCount()
{
return $this->count;
}
function getName()
{
return $this->name;
}
function setCount($var)
{
$this->count = $var;
}
function setName($var)
{
$this->name = $var;
}
function setTID($var)
{
$this->tid = $var;
}
function getTID()
{
return $this->tid;
}
}
$count = 0; // Overall count of used tags
$threshold = 1; // How many tags are needed to get displayed
$font_size = 0.8;
$query = "SELECT d.name,d.tid FROM {term_data} d, {term_node} dn WHERE dn.tid=d.tid;";
$result = db_query($query);
$tags['Test'] = 0;
while($node = db_fetch_array($result))
{
if ($tags[$node['name']] == NULL)
{
$tags[$node['name']] = new tag();
$tags[$node['name']]->setName($node['name']);
$tags[$node['name']]->setCount(1);
$tags[$node['name']]->setTID($node['tid']);
$count = $count + 1;
}
else
{
$tags[$node['name']]->setCount(
$tags[$node['name']]->getCount() + 1
);
$count = $count + 1;
}
}
foreach($tags as $tag)
{
$mycount = $tag->count;
if($mycount > $threshold)
{
$fraction = ((int)(($mycount / $count) * 60)) / 10;
if($fraction < $font_size)
{
$fraction = $font_size;
}
echo '<span style="font-size: ' . $fraction . 'em;">' . l($tag->name,'taxonomy/term/' . $tag->tid,array('title="' . $tag->count . ' Nodes"')).'[' .$tag->count .']</span> ';
}
}
?>if you only one to display the cloud tag from one vocabular you need to add this to the end of the query
$query = "SELECT d.name,d.tid FROM {term_data} d, {term_node} dn WHERE dn.tid=d.tid and d.vid='6';";Where my vocabulary id is 6
this is the example: Documentados
Oskar

Works well, but with a WARNING....
Don't try to use this twice on the same page by changing the VID, to have two or more tag cloud blocks, each showing different Vocabularies.
Big ol' WSOD:
Fatal error: Cannot redeclare class tag in /home/website/public_html/includes/common.inc(1347) : eval()'d code on line 3
The only way I was able to unbreak my site was use my hoster's phpMyAdmin interface to hack into the MySQL database and delete one of the two instances of these blocks. Not pleasant.
Anybody have any thoughts how to avoid this headache in the future? That is to say, a way to have more than one of these tag-clouds?
Cheers,
//TB