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

1254


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

в /templates/_default_/modules/mod_tags.tpl
строчку №6 ЗАМЕНЯЕМ НА
Код PHP:
  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" -------------------------------*/
и прописываем под ней эти пять классов, например так:
Код PHP:
  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);

обновление с 1.10.1 до 1.9 (комментарии) | Черный список
Комментарии (29)
SpideR-KOSS 13 февраля 2013 в 19:54 +8
Вопрос к Fuze - не пора ли уже минусаторов банить?
Спасибо Ленивый!
Fuze 13 февраля 2013 в 19:58 +17
Да пусть минусуют, не обращайте внимания, у нас демократия (С)

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

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

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

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

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