Segur que en molts llocs i blocs heu trobat una cosa tan divertida com un núvol d’etiquetes. Si voleu crear aquest núvol al vostre lloc web o bloc, en aquest article podeu trobar instruccions sobre com generar-lo.
Un núvol d’etiquetes és un recull d’etiquetes o categories que apareixen amb més freqüència a les cerques, enllaços i mencions de paraules. I com més sovint es produeix una o altra paraula o concepte, més gran es fa la imatge, que conté un hiperenllaç a aquests conceptes i paraules.
Instruccions
Pas 1
En primer lloc, genereu una llista de parells de la forma: tag: el nombre d’ocurrències. Per fer-ho, utilitzeu el codi següent:
1. <?
2. classe TagsCloud {
3.
4. etiquetes $ privades;
5.
6. privat $ font_size_min = 14;
7. privat $ font_size_step = 5;
8.
9.funció _construir ($ tags) {
10.
11. barreja ($ tags);
12. $ this-> tags = $ tags;
13.
14. }
15.
16. funció privada get_tag_count ($ tag_name, $ tags) {
17.
18. $ recompte = 0;
19.
20. foreach ($ tags com a $ tag) {
21. if ($ tag == $ tag_name) {
22. $ count ++;
23. }
24. }
25.
26. retorna el recompte de $;
27.
28. }
29.
30. funció privada tagscloud ($ tags) {
31.
32. $ tags_list = array ();
33.
34. foreach ($ tags com a $ tag) {
35. $ tags_list [$ tag] = self:: get_tag_count ($ tag, $ tags);
36. }
37.
38. torna $ tags_list;
39.
40. }
41.
42. funció privada get_min_count ($ tags_list) {
43.
44. $ min = $ tags_list [$ this-> tags [0];
45.
46. foreach ($ tags_list com $ tag_count) {
47.
48. if ($ tag_count <$ min) $ min = $ tag_count;
49.
50. }
51.
52. torna $ min;
53.
54. }
55.
56. funció pública get_cloud () {
57.
58. $ cloud = Array ();
59.
60. $ tags_list = self:: tagscloud ($ this-> tags);
61. $ min_count = self:: get_min_count ($ tags_list);
62.
63. foreach ($ tags_list com $ tag => $ count) {
64.
65. $ font_steps = $ count - $ min_count;
66. $ font_size = $ this-> font_size_min + $ this-> font_size_step * $ font_steps;
67.
68. $ cloud = ". $ Etiqueta. ";
69. }
70.
71. torna $ cloud;
72.
73. }
74. }
75. ?>
Pas 2
Treballar amb aquest codi així:
01. <?
02.
03. $ tags = array (04. '1111', '2222', '333', '444', 05. '5555', '666', '777', '777', 06. '333', '8888', '6666', '333', 07. '888', '000’, '989', '45455', 08. '5555', '63636', '54545', '55656'
09.);
10.
11. $ mycloud = nou TagsCloud ($ tags);
12. $ tags_list = $ mycloud-> get_cloud ();
13.
14. foreach ($ tags_list com a $ tag) {
15.echo $ tag. ' ';
16. }
17.
18. ?>
En lloc dels números, poseu les etiquetes que necessiteu.
Pas 3
Per mostrar un núvol d’etiquetes en funció de la rellevància, feu el següent. A la configuració, definiu la mida mínima de la lletra que correspondrà al nombre mínim d’ocurrències (és a dir, una ocurrència). Utilitzeu el camp font_size_min.
Pas 4
Definiu la mida de la font per a la resta d’etiquetes de la següent manera: cada ocurrència augmenta la font en un píxel. Per fer-ho, utilitzeu el camp font_size_step.
Pas 5
Si voleu millorar el núvol d’etiquetes, adjunteu-lo a un script js.
Bona sort creant els vostres propis núvols!