10 marzo 2009

Nube de Etiquetas

¿Sabes como hacer una nube de etiquetas? Hoy te enseñaremos como hacerla y además vendrán una serie de post referente a el tema . Estas la puedes colocar donde tu prefieras. Y por supuesto ante de aplicar el truco tenemos que añadir un nuevo elemento en la plantilla y añadimos el elemento etiquetas. Hay cosas que tenemos que tener muy clara, la primera y la más importante es tener etiquetados los post, la segunda es que las etiquetas tienen que tener más de dos entradas y la tercera que ninguna debe incluir comillas. Dicho esto, manos a la obra.

¡Recuerda! "GUARDAR SIEMPRE UNA COPIA DE TU PLANTILLA EN TU PC"

Vamos a la plantilla Diseño - Edición HTML y sin expandir la plantilla nos vamos a ]]></b:skin> y colocaremos esto justo ante:

/* Label Cloud Styles
----------------------------------------------- */
#labelCloud {text-align:center;font-family:arial,sans-serif;}
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
#labelCloud a{text-decoration:none}
#labelCloud a:hover{text-decoration:underline}
#labelCloud li a{}
#labelCloud .label-cloud {}
#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
#labelCloud .label-cloud li:before{content:"" !important} 

Luego no vamos </head> y justo ante se colocará esto:




<script type='text/javascript'>

// Label Cloud User Variables

var lcBlogURL = 'http://YOURBLOG.blogspot.com';

var maxFontSize = 20;

var maxColor = [0,0,255];

var minFontSize = 10;

var minColor = [0,0,0];

var lcShowCount = false;


</script>


En la parte que dice YOURBLOG lo cambiaremos por el nombre del blog.

Ahora la parte final y buscamos esta linea de código:
<b:widget id='Label1' locked='false' title='Labels' type='Label'/>

Y los reemplazaremos por esto:




<b:widget id='Label1' locked='false' title='Label Cloud' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<div id='labelCloud'/>
<script type='text/javascript'>

// Don't change anything past this point -----------------
// Cloud function s() ripped from del.icio.us
function s(a,b,i,x){
if(a&gt;b){
var m=(a-b)/Math.log(x),v=a-Math.floor(Math.log(i)*m)
}
else{
var m=(b-a)/Math.log(x),v=Math.floor(Math.log(i)*m+a)

}
return v
}

var c=[];
var labelCount = new Array();
var ts = new Object;
<b:loop values='data:labels' var='label'>
var theName = &quot;<data:label.name/>&quot;;
ts[theName] = <data:label.count/>;
</b:loop>

for (t in ts){
if (!labelCount[ts[t]]){
labelCount[ts[t]] = new Array(ts[t])
}
}
var ta=cloudMin-1;
tz = labelCount.length - cloudMin;
lc2 = document.getElementById('labelCloud');
ul = document.createElement('ul');
ul.className = 'label-cloud';
for(var t in ts){
if(ts[t] &lt; cloudMin){
continue;
}
for (var i=0;3 &gt; i;i++) {
c[i]=s(minColor[i],maxColor[i],ts[t]-ta,tz)
}
var fs = s(minFontSize,maxFontSize,ts[t]-ta,tz);
li = document.createElement('li');
li.style.fontSize = fs+'px';
li.style.lineHeight = '1';
a = document.createElement('a');
a.title = ts[t]+' Posts in '+t;
a.style.color = 'rgb('+c[0]+','+c[1]+','+c[2]+')';
a.href = '/search/label/'+encodeURIComponent(t);
if (lcShowCount){
span = document.createElement('span');
span.innerHTML = '('+ts[t]+') ';
span.className = 'label-count';
a.appendChild(document.createTextNode(t));
li.appendChild(a);
li.appendChild(span);
}
else {
a.appendChild(document.createTextNode(t));
li.appendChild(a);
}
ul.appendChild(li);
abnk = document.createTextNode(' ');
ul.appendChild(abnk);
}
lc2.appendChild(ul);
</script>
<noscript>
<ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url'><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul>
</noscript>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>


Más información en Phydeaux3 y en este blog

Es muy sencillo, si deseas saber más sobre esto, no dudes en comentar.

6 comentarios:

  1. Excelente cariño!!!...esperaré las próximas entradas de las nubes...beijos!!!

    ResponderEliminar
  2. Excelente , espero la nube en movimiento , que a mi me ha quedado muy chica a ver si lo resuelvo :( saludos ; )

    ResponderEliminar
  3. Hola Graciela! Ya la he colocado. Saludos! :)

    Hola Alba! Esa es la segunda parte... Saludos!

    ResponderEliminar
  4. Una preguntita... se pueden tener las etique de forma normal y añadir esta en forma de nube? o solo se puede poner de una forma?

    ResponderEliminar
  5. Hola Malina!Bueno si la añades el la parte del sidebar la nube se va adaptar a el sidebar... Va a depender de donde la pongas entonces. Y se agregas otro widget de etiquetas este sera normal, no se aplicara la nube. Saludos!

    ResponderEliminar
  6. ah genial, es que pense que el widget de etiquetas solo permitia que se incluyera una vez.

    ResponderEliminar

¡Gracias por comentarme! No modero los comentarios porque me parece tentar contra la libertad de expresión de cada individuo, por eso le pido que no hacer comentarios con palabras obscenas, si vas a comentar como Anónimo por favor coloca tu nombre o cualquier apodo. ¡Gracias!