Určitě jste na mnoha webech a blogech narazili na tak zábavnou věc, jako je tag cloud. Pokud chcete vytvořit takový cloud na svém webu nebo blogu, pak v tomto článku najdete pokyny, jak jej vygenerovat.
Cloud značek je kolekce značek nebo kategorií, které se nejčastěji objevují při vyhledávání, odkazech a zmínkách o slovech. A čím častěji se vyskytuje jedno nebo jiné slovo nebo koncept, tím větší je obrázek, který obsahuje hypertextový odkaz na tyto koncepty a slova.
Instrukce
Krok 1
Nejprve vygenerujte seznam párů značky form: tag - počet výskytů. K tomu použijte následující kód:
1. <?
2. třída TagsCloud {
3.
4. soukromé $ tagy;
5.
6. soukromé $ font_size_min = 14;
7. soukromé $ font_size_step = 5;
8.
9.funkce _construct (značky $) {
10.
11.shuffle ($ tags);
12. $ this-> tags = $ tags;
13.
14. }
15.
16. soukromá funkce get_tag_count ($ tag_name, $ tags) {
17.
18. $ count = 0;
19.
20. foreach ($ tagy jako $ tag) {
21. if ($ tag == $ tag_name) {
22. $ count ++;
23. }
24. }
25.
26. vrátit $ count;
27.
28. }
29.
30. private function tagscloud ($ tags) {
31.
32. $ tags_list = array ();
33.
34. foreach (značky $ jako značka $) {
35. $ tags_list [$ tag] = self:: get_tag_count ($ tag, $ tags);
36. }
37.
38. vrátit $ tags_list;
39.
40. }
41.
42. soukromá funkce get_min_count ($ tags_list) {
43.
44. $ min = $ tags_list [$ this-> tagy [0];
45.
46. foreach ($ tags_list jako $ tag_count) {
47.
48. if ($ tag_count <$ min) $ min = $ tag_count;
49.
50. }
51.
52. návrat min. $;
53.
54. }
55.
56. veřejná funkce 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 jako $ 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 = ". $ Tag. ";
69. }
70.
71. vrátit $ cloud;
72.
73. }
74. }
75. ?>
Krok 2
S tímto kódem pracujte takto:
01. <?
02.
03. $ tags = pole (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 = new TagsCloud ($ tags);
12. $ tags_list = $ mycloud-> get_cloud ();
13.
14. foreach ($ tags_list jako $ tag) {
15. značka $ $. ' ';
16. }
17.
18. ?>
Místo čísel vložte značky, které potřebujete!
Krok 3
Chcete-li zobrazit cloud značek na základě relevance, postupujte takto. V nastavení nastavte minimální velikost písma, která bude odpovídat minimálnímu počtu výskytů (tj. Jeden výskyt). Použijte pole font_size_min.
Krok 4
Nastavte velikost písma pro zbytek značek takto: každý výskyt zvětší písmo o jeden pixel. K tomu použijte pole font_size_step.
Krok 5
Chcete-li vylepšit svůj tag cloud, připojte jej ke skriptu js.
Hodně štěstí při vytváření vlastních cloudů!