Questo e' un semplice script che ci permette di generare un tag cloud, in altri termini una nube di etichette, un sistema di generare una immagine sintetica e facilmente intuibile, di quali sono gli argomenti importanti trattati nel sito web nel momento in cui si accede. Il Tag Cloud puo' essere generato per esempio dagli ultimi termini ricercati nel sito, dagli ultimi tag indicati nel forum, oppure da qualsiasi altra fonte che contenga parole che possano facilmente riassumere l'argomento principale del sito.
In questo script per PHP la creazione del Tag Cloud viene effettuata tramite un array, piu' avanti l'esempio verra' arricchito con la creazione del tag Cloud per mezzo di un collegamento al database.
Array delle etichette:
$etiquetas = array( "HTML"=>10, "PHP"=>15, "ASP"=>6, "Promoción de webs"=>5, "Programación"=>8, "Javascript"=>12, "Ajax"=>5, ".NET"=>3, "FAQ"=>2, "SEO"=>9, "CSS"=>12, "XHTML"=>8, "Desarrollo Web"=>12, "Diseño"=>8, "Ganar dinero"=>6, "Freelance"=>2, "Cookies"=>3, "Software"=>10, "DHTML"=>7, "Cross-Browser"=>1 );
Funzione PHP per creare il Tag Cloud:
function nube_etiquetas($etiquetas){ //saco los valores máximo y minimo de la apariciones de etiquetas $valor_max = max($etiquetas); $valor_min = min($etiquetas); $diferencia = $valor_max - $valor_min; //ordeno el array ksort($etiquetas); //creo la capa donde se van a mostrar las etiquetas echo ''; echo ''; foreach ($etiquetas as $nombreetiqueta=>$apariciones){ //calculo un valor de 0 a 10 para cada etiqueta, porcentualmente según valores máximos y mínimos encontrados $valor_relativo = round((($apariciones - $valor_min) / $diferencia) * 10); //escribo las etiquetas con su estilo dependiendo del valor porcentual echo ""; echo $nombreetiqueta; echo " "; } //meto una capa sin float para que tome todo el alto de las etiquetas echo ""; //cierro la nube y las etiquetas echo ' '; echo ' '; }
Prima si estra il valore massimo e minimo dell'array. Successivamente il valore differenza, per sapere il percorso dell'intervallo di apparizioni di tutte le etichette. Successivamente si ordina l'array per ordine alfabetico secondo l'indice, che e' il nome della etichetta. Successivamente apriamo i due livelli che contengono la nuvola e l'insieme delle etichette. Continuamo a realizzare il percorso, mediante una funzione foreach, di tutte le etichette dell'array. Per ogni etichetta la prima cosa da fare e' generare il valore relativo, che e' un numero tra 1 e 10 che indica l'importanza di una etichetta in relazione con le altre. Le etichette che appaiono meno prendono valore 0 e quella che appare piu' volte ha valore 10, per il resto dei valori si compara l'importanza di ogni etichetta dentro del rango di valori definito per il massimo ed il minimo. Successivamente scriviamo le etichette, collocando la classe CSS che contiene lo stile, a seconda delle dimenzsioni. Utilizziamo $valor_relativo per assegnare la dimenzsione del carattere. Il codice HTML generato per ogni etichetta sara' il seguente:
PHP
Per provare l'esempio, dovremmo chiamare la funzione passando come parametro l'array delle etichette che abbiamo creato prima: nube_etiquetas($etiquetas); El código completo del script Vediamo quindi il codice completo della pagina per generare la nuvola di etichette: Nubes de etiquetas
Questo tutorial e' pubblicato come puro esempio illustrativo, il webmaster di Adult Webmaster Italia non e' l'autore e non e' responsabile del corretto funzionamento dello stesso ne' di eventuali danni che possa provocare la sua applicazione in una pagina web. Allo stesso modo non si fornisce nessuna assistenza nell'installazione.
|