Көптеген сайттар мен блогтарда сіз бұлт сияқты күлкілі нәрсені кездестіргеніңіз анық. Егер сіз өзіңіздің веб-сайтыңызда немесе блогыңызда осындай бұлт жасағыңыз келсе, онда сіз осы мақалада оны қалай жасау керектігі туралы нұсқаулық таба аласыз.
Тегтер бұлты - бұл іздеулерде, сілтемелерде және сөз атауларында жиі пайда болатын тегтер немесе санаттар жиынтығы. Сол немесе басқа сөз не ұғым неғұрлым жиі кездесетін болса, сурет ұғымдар мен сөздерге сілтемені қамтитын көлемді болады.
Нұсқаулық
1-қадам
Алдымен форманың жұптарының тізімін жасаңыз: тег - пайда болу саны. Ол үшін келесі кодты қолданыңыз:
1. <?
2. TagsCloud сыныбы {
3.
4. жеке $ тегтер;
5.
6. жеке $ font_size_min = 14;
7. жеке $ font_size_step = 5;
8.
9.функция _construct ($ тегтер) {
10.
11. муфталар ($ тегтер);
12. $ this-> tags = $ tags;
13.
14. }
15.
16. get_tag_count жеке функциясы ($ tag_name, $ tags) {
17.
18. $ count = 0;
19.
20. foreach ($ tags as $ tag) {
21. егер ($ tag == $ tag_name) {
22. $ count ++;
23. }
24. }
25.
26. return count;
27.
28. }
29.
30. tagscloud жеке функциясы ($ tags) {
31.
32. $ tags_list = массив ();
33.
34. foreach ($ tags as $ tag) {
35. $ tags_list [$ tag] = self:: get_tag_count ($ tag, $ tags);
36. }
37.
38. return $ tags_list;
39.
40. }
41.
42. get_min_count жеке функциясы ($ tags_list) {
43.
44. $ min = $ tags_list [$ this-> tags [0];
45.
46. foreach ($ tag_count ретінде $ tag_count) {
47.
48. егер ($ tag_count <$ min) $ min = $ tag_count;
49.
50. }
51.
52. $ min қайтару;
53.
54. }
55.
56. get_cloud () {жалпыға ортақ функциясы
57.
58. $ бұлт = Массив ();
59.
60. $ tags_list = self:: tagscloud ($ this-> tags);
61. $ min_count = self:: get_min_count ($ tags_list);
62.
63. foreach ($ tags_list ретінде $ 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. return $ cloud;
72.
73. }
74. }
75. ?>
2-қадам
Осы кодпен келесідей жұмыс жасаңыз:
01. <?
02.
03. $ tags = жиым (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 = жаңа TagsCloud ($ тегтер);
12. $ tags_list = $ mycloud-> get_cloud ();
13.
14.foreach ($ tags_list $ tag ретінде) {
15.echo $ тегі. ' ';
16. }
17.
18. ?>
Сандардың орнына қажет тегтерді қойыңыз!
3-қадам
Өзектілікке негізделген тегтер бұлтын көрсету үшін келесі әрекеттерді орындаңыз. Параметрлерде қаріптің минималды мөлшерін орнатыңыз, ол көріністердің минималды санына сәйкес келеді (яғни бір рет). Font_size_min өрісін пайдаланыңыз.
4-қадам
Қалған тегтер үшін қаріп өлшемін төмендегідей орнатыңыз: әр кездесу қаріпті бір пиксельге арттырады. Ол үшін font_size_step өрісін пайдаланыңыз.
5-қадам
Егер тегтер бұлтын жақсартқыңыз келсе, оны js сценарийіне тіркеңіз.
Өзіңіздің бұлттарыңызды құруға сәттілік тілеймін!