
Nube de etiquetas; especias para nuestra ensalada.
Ojo, este código lo he sacado de drupal.org, y le he añadido únicamente el contar la cantidad de veces que aparecen las etiquetas utilizadas. Pasarlo a una lista ordenada hacia abajo tambíen sería sencillo, únicamente sacar las estiquetas span del foreach, y crear una lista con elementos li en el comando foreach.
<?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> ';
}
}
?>Se puede descargar de: http://drupal.org.es/archivos/nubeetiquetas.txt
Se puede ver como queda en: http://www.documentados.com/blog/oskar
Lo que no he conseguido hacer es que me coja un único vocabulario.
Un saludo
Óskar
Todavía estamos montando esta cocina con Drupal, así que probablemente más de un detalle esté sin acabar en esta web
Buscar
Book navigation
Tags de ARTÍCULOS
Inicio de sesión
Navegación
Nuevos
- fernando
- dsevila
- zialdoka
- ek10
- juanramonperez
Comentarios
este código lo colocamos en
este código lo colocamos en un bloque, y le habilitamos la opción de introducir al cuerpo del bloque código php, de tal forma que nos aparecerá la nube de etiques en el bloque, si queremos tenerlo en un nodo la nube de etiquetas 3/4 de lo mismo, copiamos-pegamos el código en un nodo y le decimos que el contenido es php.
Un saludo
Oskar
Documentados, soluciones con software libre
donde se coloca este codigo
mi asunto es mi pregunta, gracias
Duda del codigo
Tal vez les paresca la pregunta más bruta pero no entiendo donde se coloca este codigo, dentro de un modulo como php, o me creo otro modulo solo para este codigo.
Gracias