цветное облако

+77
2.73K


в /modules/mod_tags/module.php
ДОБАВИТЬ строчку №98
  1. $tags_sel[$next]['style'] = rand(1, 5);
-эта строчка каждому тегу присваивает случайное число от 1 до 5

в /templates/_default_/modules/mod_tags.tpl
строчку №6 ЗАМЕНЯЕМ НА
  1. <a class="tag{$tag.style}" href="/search/tag/{$tag.title|urlencode}" style="padding:2px; font-size: {$tag.fontsize}px">{$tag.title|ucfirst}</a>
— этим мы из класса tag случайным образом делаем классы tag1 tag2… tag5

Теперь, находим в style.css срочку
/*------------------------- MODULE "SITE TAGS" -------------------------------*/
и прописываем под ней эти пять классов, например так:
  1. a.tag1{color:red; text-decoration: none;}
  2. a.tag2{color:black; text-decoration: none;}
  3. a.tag3{color:green; text-decoration: none;}
  4. a.tag4{color:blue; text-decoration: none;}
  5. a.tag5{color:yellow; text-decoration: none;}


Особо талантливые могут также прописать стили и для a.tag1:hover{} a.tag2:hover{} и так далее..
а особо творческие, могут сделать себе 20 классов, написав $tags_sel[$next]['style'] = rand(1, 20);

Иллюстрация
+8
SpideR SpideR 11 лет назад #
Вопрос к Fuze - не пора ли уже минусаторов банить?
Спасибо Ленивый!
+17
Fuze Fuze 11 лет назад #
Да пусть минусуют, не обращайте внимания, у нас демократия (С)

Я реально не понимаю, что вы тех, кто ставит минусы кормите тем, что обсуждаете их минусование (сорри за тавтологию)?
Ну в каждом посте прения про минусы - меня лично это больше раздражает чем сами минусы.
+4
Сергей Петрович Сергей Петрович 11 лет назад #
Солидаризуюсь! Полностью!
+4
SpideR SpideR 11 лет назад #
А все из-за того, что у автора поста после этого отпадает желание дальше творить.
Он трудился, думал, реализовывал, стараясь помочь сообществу, далее выложил и сидит спокойно наблюдает как ему лепят минуса.
Неправильно как-то это.
+3
deltas deltas 11 лет назад #
Как раз все правильно. А для чего кнопка "минус" придумана - чтобы выражать свое отношение, которое у всех разное, к посту. И чтобы в блогах не писали всякую ерунду, а то если бы минусов небыло...
В данном случае автору конечно +
+1
MiMoHOD MiMoHOD 11 лет назад #
Вставлю свои 5 коп.
Было бы не плохо реализовать опросник при проставлении плюса или минуса (именно в момент оценки а не отдельным голосованием и т.д.). Было бы понятно, что именно не устраивает людей, для учета в дальнейшем, а то не понятно кто поставил оценку и за что. А если пользователю есть что добавить, пусть отписывает в комментариях. Т.ч. ИМХО оценка штука полезная (и + и -), но не помешала бы доработка, чего на месте топтаться, а то присутствует ощущение недосказанности.
0
nedoriko nedoriko 11 лет назад #
да не переживайте вы так. яж на плюсы не жадный. исправлю по возможности v
0
deltas deltas 11 лет назад #
Может такой вариант кому то понравится http://tagul.com/gallery?page=3
сделать совсем не сложно (у кого есть время)
0
Димитриус Димитриус 11 лет назад #
скрина не хватает
0
omarov omarov 11 лет назад #
если кто ставил себе, может показать хотя бы на скрине как это выглядит?
+2
eoleg eoleg 11 лет назад #
+
Насчет скрина - Ленивому лень было его делать! smile
+2
lokanaft lokanaft 11 лет назад #
А нельзя было сделать не: "ща я подлянку максисофту сделаю", а увеличить функционал? Хотя бы не случайно генерить цвета, а по какой то определённой настраиваемой шкале их давать? Прозрачность добавить? Сжать код? :
Код CSS:
  1. a.tag{text-decoration: none}
  2. или
  3. a.tag1,a.tag2,a.tag3,a.tag4,a.tag5{text-decoration: none}
  4. далее:
  5. a.tag1{color:red}
  6. a.tag2{color:black}
  7. a.tag3{color:green}
  8. a.tag4{color:blue}
  9. a.tag5{color:yellow}
Зла не держите, у друга своего спросите почему это)
0
Максим Шорин Максим Шорин 11 лет назад #
я немного по другому делал:
Код PHP:
  1. $mass = array();
  2. $mass['0'] = '#0099AB';
  3. $mass['1'] = '#DA532C';
  4. $mass['2'] = '#A000A8';
  5. $mass['3'] = '#613CBC';
  6. $mass['4'] = '#AF1A3F';
  7. $mass['5'] = '#2777EC';
  8. $mass['6'] = '#0A59C2';
  9. $mass['7'] = '#009C00';
  10. $mass['8'] = '#30b6c9';
  11. $mass['9'] = '#b530ba';
  12. $mass['10'] = '#f09e2f';
  13. $mass['11'] = '#8cbd20';
  14. $rand = rand(0, 11);
  15. $mass[$rand];
так можно прикрутить цвета к настройкам модуля

дальше засовываем в массив к каждому тегу рандомеый цвет и выводим в шаблоне:

Код PHP:
  1. <a class="tag" href="/search/tag/{$tag.title|urlencode}" style="padding:2px; font-size: {$tag.fontsize}px;color:{$tag.color};">{$tag.title|ucfirst}</a>
profit!
0
st.Puh st.Puh 11 лет назад #
Я стиль зделал вот так
Код PHP:
  1. a.tag1{color:red; text-decoration: none; font-style: italic; }
  2. a.tag1:hover{ background-color: #CC0066; text-decoration: underline; }
  3. a.tag2{color:black; text-decoration: none; font-style: italic; }
  4. a.tag2:hover{ background-color: #999999; text-decoration: underline; }
  5. a.tag3{color:green; text-decoration: none; font-style: italic; }
  6. a.tag3:hover{ background-color: #339933; text-decoration: underline; }
  7. a.tag4{color:blue; text-decoration: none; font-style: italic; }
  8. a.tag4:hover{ background-color: #0099FF; text-decoration: underline; }
  9. a.tag5{color:yellow; text-decoration: none; font-style: italic; }
  10. a.tag5:hover{ background-color: #FFFFCC; text-decoration: underline; }
""

Наведено
""
0
Azura Azura 11 лет назад #
Спасибо!!! =)))) Мне понравилось!!!!
+4
• Mike • • Mike • 11 лет назад #
Одним из основных условий «юзабилити» — является “привычность” элементов интерфейса…
Смысл тогда в произвольном присвоении цвета?
Загружаешь модуль в первый раз — «Исцеление» — красное; второй — зелёное (в смысле исцелилось?))))
Проще в шаблоне, раз уж туда “пришел” размер шрифта, менять по условию, самый маленький — серый, например, чем больше тем “цветастее” — и полезно и “глаз радуется” )
И правка только в одном файле…
0
Максим Шорин Максим Шорин 11 лет назад #
все теги невозможно подогнать под условия... они как грибы..
+1
picaboo picaboo 11 лет назад #
да ладно, а размер у них тоже рандомный по вашему :)) очень даже привязывается.
0
Максим Шорин Максим Шорин 11 лет назад #
нет, не рандомный, от частоты его повторения шрифт увеличивается.. и не да ладно , теги нельзя упорядочить, могу доказать твою несостоятельность в личке..
0
deltas deltas 11 лет назад #
Зачем упорядочить? Прозрачность добавить, или цвет? в два щелчка...
Было
Код PHP:
  1. for ($s=0; $s<10; $s++){
  2. if ($prc >= ($s*10)) { $fontsize = $size[$s]; }
  3. }
  4. $next = sizeof($tags_sel);
  5. $tags_sel[$next]['title'] = $tag;
  6. $tags_sel[$next]['num'] = $num;
  7. $tags_sel[$next]['fontsize'] = $fontsize;
  8. }
Стало:
Код PHP:
  1. for ($s=0; $s<10; $s++){
  2. if ($prc >= ($s*10)) { $fontsize = $size[$s]; }
  3. }
  4. $next = sizeof($tags_sel);
  5. $tags_sel[$next]['title'] = $tag;
  6. $tags_sel[$next]['num'] = $num;
  7. $tags_sel[$next]['fontsize'] = $fontsize;
  8. $tags_sel[$next]['opacity'] = $fontsize/80;
  9. }
и в фале шаблона добавим style="padding:2px; opacity: {$tag.opacity}; font-size: {$tag.fontsize}px">
Конечно решение неправильное и кривое) но показывает прозрачность от 0.12 и все далее... Аналогично с оттенками...
0
deltas deltas 11 лет назад #
-9
Максим Шорин Максим Шорин 11 лет назад #
deltas, эта ветка разговора была с тобой ? какого хрена ты влезаешь в чужой спор ?
+5
deltas deltas 11 лет назад #
с таким же успехом можно спросить какого хрена ты влез в чужой пост?
Видимо picaboo был занят чтобы доказывать что-то, да и в принципе кому доказывать то...
0
• Mike • • Mike • 11 лет назад #
Правка в одном файле /templates/_default_/modules/mod_tags.tpl (код целиком):
Код PHP:
  1. {if $is_targeting}
  2. {if $is_tags}
  3. <div>
  4. {foreach key=tid item=tag from=$tags}
  5. {if $tag.fontsize > 48}{assign var=color value="#FF0000"}
  6. {elseif $tag.fontsize >= 36}{assign var="color" value="#B22222"}
  7. {elseif $tag.fontsize >= 24}{assign var="color" value="#FF8C00"}
  8. {elseif $tag.fontsize >= 20}{assign var="color" value="#DAA520"}
  9. {elseif $tag.fontsize >= 18}{assign var="color" value="#FFD700"}
  10. {elseif $tag.fontsize >= 16}{assign var="color" value="#BDB76B"}
  11. {elseif $tag.fontsize >= 14}{assign var="color" value="#BC8F8F"}
  12. {elseif $tag.fontsize >= 12}{assign var="color" value="#D8BFD8"}
  13. {elseif $tag.fontsize >= 10}{assign var="color" value="#778899"}
  14. {/if}
  15. <a class="tag" href="/search/tag/{$tag.title|urlencode}" style="padding:2px; font-size: {$tag.fontsize}px;color:{$color}">{$tag.title|ucfirst}</a>
  16. {/foreach}
  17. </div>
  18. {else}
  19. <p>Нет тегов для отображения</p>
  20. {/if}
  21. {else}
  22. <p>Не выбраны источники тегов для показа.</p>
  23. {/if}
+1
GNabi GNabi 11 лет назад #
А нельзя сделать так, чтобы теги выводились в случайном порядке, а не по алфавиту или по популярности?
+2
NickSolver NickSolver 11 лет назад #
Имхо модуль бесполезен - выделение цветом должно быть от степени использования тега - как тепловая карта сайта. А это просто дрочь. (можете закидать меня минусами - я просто высказал свое мнение)
+1
Сергей Петрович Сергей Петрович 11 лет назад #
вот тут можно было б потестить следующий пост в блогах:
http://instantcms.ru/blogs/moe-hobi/filtr-antimat.html

laugh
0
OldSchool OldSchool 11 лет назад #
Спасибо, установил, понравилось... Может реализация не для всех сайтов. Но каждый думаю найдет для себя, то что лучше и подходит для него!!!
0
nedoriko nedoriko 11 лет назад #
Чет у меня не заработало. Чет я сделал не так.
А если шаблон стоит не дефаултовский, вписывать изменения всеравно в дефаулт надо?

Еще от автора

Тема для никого - 1.10.7 и PHP 5.2.12 (часть 1)
Сложность программы растёт до тех пор, пока не превысит способности программиста (Законы Мерфи для программистов) Недавно ставил себе на локалку 1.10.
Тема для никого - 1.10.7 и PHP 5.2.12 (часть 2)
Программисты действуют рационально, лишь тогда, когда другие способы исчерпаны (Законы Мерфи для программистов) Часть 1 Порадовавшись успешной установ
Тема для никого - 1.10.7 и PHP 5.2.12 (часть 3)
Если программа полезна, ее обязательно переделывают (Законы Мерфи для программистов) Часть 2 Запустив сайт я проверил все доступные после установки ра
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.