Рада 1: Як зробити хмара тегів

Напевно на багатьох сайтах і блогах ви зустрічалися з такою забавною річчю, як хмара тегів. Якщо ви хочете створити таку хмару на своєму сайті або блозі, то в даній статті ви зможете знайти інструкцію по його генерації.
Хмара тегів являє собою набір ярликів або категорій, що найчастіше зустрічаються в пошуку, засланнях і згадок будь-яких слів. І чим частіше зустрічається те чи інше слово або поняття, тим більше стає зображення, що містить гіперпосилання на ці поняття і слова.
як зробити хмара тегів
Для початку згенеруйте список пар виду: тег - кількість входжень. Для цього використовуйте наступний код:
1. 2. class TagsCloud {
3.
4. private $ tags;
5.
6. private $ font_size_min=14;
7. private $ font_size_step=5;
8.
9. function __construct ($ tags) {
10.
11. shuffle ($ tags);
12. $ This-> tags=$ tags;
13.
14. }
15.
16. private function get_tag_count ($ tag_name, $ tags) {
17.
18.$ count=0;
19.
20. foreach ($ теги як $ tag) {
21. if ($ tag==$ tag_name) {
22. $ count ++;
23. }
24. }
25.
26. повернути $ count;
27.
28. }
29.
30. приватні теги функційклас ($ tags) {
31.
32. $ tags_list=масив ();
33.
34. foreach ($ теги як $ 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 ($ tags_list як $ tag_count) {
47.
48. if ($ tag_count<$ min) $ min=$ tag_count;
49.
50. }
51.
52. повернути $ min;
53.
54. }
55.
56. публічна функція 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 як $ 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=new TagsCloud ($ tags);
12. $ Tags_list=$ mycloud-> get_cloud ();
13.
14. foreach ($ tags_list as $ tag) {
15. echo $ tag. ' ';
16. }
17.
18. ?>
На місці цифр ставте потрібні вам теги!

3 крок

Щоб вивести хмара тегів з урахуванням релевантності, зробіть наступне. В налаштуваннях задайте мінімальний розмір шрифту, який буде відповідати мінімальному числу входжень (тобто, одне входження). Використовуйте поле font_size_min.

4 крок

Задайте іншим тегам розмір шрифту за наступною схемою: кожне входження збільшує шрифт на один піксель. Для цього скористайтеся полем font_size_step.

5 крок

Якщо ви хочете вдосконалити своє хмара тегів, прикрутіть його до js-скрипту.
Удачі вам у створенні власних хмар!
Відео по темі





ЩЕ ПОЧИТАТИ