Ковыряясь в исходниках tagcloud.swf я пришёл к выводу, что Аманда Фазани (Amanda Fazani) подошла к вопросу создания виджета на базе этого творения Роя Танка (Roy Tank) “спустя рукава”. Все возможности заложенные в эту флешку не были использованы, хотя я и не берусь оспаривать её изобретательность. И вот, мой дотошный читатель, я представляю на твой скорый, но, надеюсь, справедливый суд виджет b-cumulus, виджет созданный своими руками.
Почему другое название? Поясняю. Flash-приложение tagcloud – это приложение выводящее облако тегов в любое место любого HTML файла, требующее определённого обрамления. Это ядро виджета. А сам виджет – это код подготавливающий вывод данных с помощью этого “ядра” в нужном месте и в нужное время. Собственно говоря, Рой Танк на базе этого флеш-файла создал виджет wp-cumulus для WordPress, Аманда Фазани создала свой Blogumus для Blogger, Пратул Калия (Pratul Kalia) и Бьёрн Якоб (Björn Jacob) создали cumulus для Drupal, я создал b-cumulus для Blogger.
b-cumulus vs Blogumus
Чем отличается b-cumulus от Blogumus? По большому счёту, только тем, что выводит метки в облако тегов используя разный размер и цвет шрифта, в зависимости от “веса” метки. Именно так и задумывалось Роем Танком. Именно из-за этого я затеял свой b-cumulus.
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<b:widget id='Label99' locked='false' title='Облако меток' type='Label'> <b:includable id='main'> <b:if cond='data:title'> <h2><data:title/></h2> </b:if> <div class='widget-content'> <script src='//ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject_src.js' type='text/javascript'/> <script type='text/javascript'> var flashvars = { mode: "tags", minFontSize: "6", maxFontSize: "22", showTagWeight: "true", tcolor: "0x0be4f8", tcolor2: "0x0be4f8", hicolor: "0xffffff", distr: "distr", tspeed: "100", tagcloud: "<tags><b:loop values='data:labels' var='label'><a expr:href='data:label.url' expr:style='data:label.count'><data:label.name/></a></b:loop></tags>" }; var params = { //wmode: "transparent", bgcolor: "#333333", allowscriptaccess: "always" }; var attributes = { id: "b-cumulus", name: "tagcloud" }; swfobject.embedSWF("//FILE_HOST_NAME/tagcloud.swf", "b-cumulus", "300", "250", "9.0.0", false, flashvars, params, attributes); </script> <div id='b-cumulus'> <a href='//www.adobe.com/go/getflashplayer'> <img alt='Get Adobe Flash player' src='//www.adobe.com/images/shared/download_buttons/get_flash_player.gif'/> </a> </div> <b:include name='quickedit'/> </div> </b:includable> </b:widget> |
Установка
Скопируйте код и вставьте его в шаблон виджета, там где считаете нужным. Или добавьте гаджет “Labels”, а затем найдите его в шаблоне и замените на вышеприведённый код.
Скачать пакет поддержки виджета b-cumulus (swfobject.js, tagcloud.swf):Взять исправленную русскую версию пакета, которая будет работать и в wp-cumulus и в Blogumus, можно здесь:
Параметры
Найдите следующий код:
1 |
swfobject.embedSWF("//FILE_HOST_NAME/tagcloud.swf", "b-cumulus", "300", "250", "9.0.0", false, flashvars, params, attributes); |
FILE_HOST_NAME – Замените на хост вашей копии tagcloud.swf
“300” – ширина виджета в пикселах. Замените на нужную.
“250” – высота виджета в пикселах. Замените на нужную.
Найдите следующие параметры и измените по вкусу 😉
flashvars.minFontSize = “8“; – минимальный размер шрифта метки
flashvars.maxFontSize = “22“; – максимальный размер шрифта метки
flashvars.showTagWeight = “true”; – показывать “вес” метки, при наведении на неё курсора мыши.
flashvars.tcolor = “0xffffff“; – цвет метки с самым малым “весом”
flashvars.tcolor2 = “0x0be4f8“; – цвет метки с самым высоким “весом”. Для остальных меток будет выбран цвет на линейке между этими двумя цветами.
flashvars.hicolor = “0xffffff“; – цвет метки под курсором мыши, при наведении курсора на метку
flashvars.tspeed = “100“; – скорость вращения облака
//params.wmode = “transparent“; – прозрачный фон. Раскомментируйте, если хотите иметь прозрачный фон.
params.bgcolor = “#333333“; – цвет фона. Обратите внимание, что он задаётся через #, а не через 0x.
Обновления
02.02.2009
- добавлена возможность показывать “вес” метки, при наведении на неё курсора мыши
- исправлены баги
© 2009 – 2015, minimus. Все права защищены. При копировании и републикации статьи, ссылка на первоисточник обязательна.
Хорошая работа. Респект за ковыряние. У самого руки так и не дошли. Смешно было наблюдать как у некоторых висел неработающий гаджет. В знак благодарности поставил ссылку у себя на эту страницу.
Походу у меня чего-то не вышло. Вроде все верно. переделал 3 раза. все сохраняется, но отображает только, логотип флэш-плеера. Подскажи, ПЛЗ, с чем может быть связано?
2 pastormouse: Спасибо!
2 Maljar:
У Вас стоит: params.wmode = “transparent“;
Должно быть: params.wmode = "transparent";
должны быть кавычки, одиночные или двойные.
Спасибо! Все встало на свои места.
Теперь по твоему блогу:
1) Не смог подписаться на RSS
2) Не нашел возможности получать комменты на почту.
Пришлось переустанавливать WordPress … Вроде всё наладилось. Подписки восстановились 😉
Комментарии нашел нашел 🙂 Теперь осталось подписаться.
касательно неиспользованных возможности флешки (это я из вашего текста для Блогосферы) – я ковыряясь в свое добавил простенький функционал чтобы при наведении на слово в обводящей рамочке рядом еще писалось кол-во постов по этому тегу … это довольно удобно потому как размер вращающихся слов корелируется больше перспективой чем весом тега. Если любопытно – могу сбросить изменения, которые делал .. или дополните код сами если так будет удобнее …
Что-ж, идея Ваша и, как мне кажется, было бы благоразумно объединить наши усилия, как минимум, в реализации этой идеи. Я уже представляю как это сделать, но Ваш вариант тоже хотелось бы посмотреть. Скиньте на minimus@blogcoding.ru . Спасибо за идею!
Я подозреваю, что Вы модифицировали объект _back …
Что-то не получается с цветом 🙁
бледно бирюзовый висит и все
Разобрался, на самом деле
flashvars.tcolor
flashvars.tcolor2 перепутаны. соответственно я видел бирюзовый, а теги которые больше всего использованы, я не видел.
Это не у меня перепутано, это Рой накосячил 😉
2minimus
🙂
ЗЫ: хотелось бы посмотреть на облако тегов со счетчиком
minimus: SiMBa, пользуйтесь меню форматирования текста! 😉
2 SiMBa
На подходе. Уже всё работает, но есть чисто пользовательские нюансы, связанные с обратной совместимостью …
2 SiMBa и ALL
Все особо нетерпеливые могут посмотреть первые результаты работы над b-cumulus v 1.1.1 на Блогосфере …
Класс 🙂
хм… а можно заложить в код расположение цифр и их размер? чтобы можно было располагать не только слева а например слева-снизу, или на 10% ниже центра. И цвет отдельно бы 🙂
ну эт мои пожелания, а вобще класс афтору респект и +1
Конечно можно … В принципе всё можно … Вопрос только в целесообразности и наличии времени на разработку. Ну и ещё, чем больше параметров передаётся в виджет, тем больше времени требуется на саму передачу и, соответственно, времени на вывод виджета на экран 🙁
ну расположение можно задавать цифрой 1-9, а цвет если не указан то тот же что и тега, размер тоже как один.
чтобы куча параметров не было можно попытаться использовать нечто такое:
flashvars.tagparams=”maincolor:#000000, mincolor:#000FFF, maxcolor:#FFF000″
согласен обратной совместимости не будет,
а переменные можно легко вынуть сначала разбиение в массив по “,” затем по “:”(я не вкурсе есть ли у javascript функции для работы со строками и динамическими массивами)
Думаю пока … Всё переделывать придётся. Рой Танк не узнает своё творение 😉
У меня тоже отображается только значок Get Adobe Flash Player.Кавычки вроде стоят.Я в блогах совсем новичок, помогите, пожалуйста, так хочется ваш замечательный b-cumulus заполучить:-)!
Мой блог //amigurumiroo.blogspot.com/. Значок Get Adobe Flash Player вверху.
Вы неправильно используете кавычки в определении параметра flashvars.tagcloud:
Нельзя использовать двойные кавычки внутри двойных, т.к. интерпретатор неправильно определяет границы строки. Правильно использовать одиночные кавычки внутри двойных и наоборот.
Попробуйте – должно всё получиться. 😉
Получилось! Спасибо большущее!!! Я на вас ссылку сделаю на своей странице)). У меня только получается,если удаляю гаджет “Ярлыки”, который внизу b-cumulus, то облако опять превращается в значок Get Adobe Flash Player .Непонятно, как избавиться…
Он у вас там два раза. Попробуйте убрать лишнее в редакторе HTML – или в Blogger, или на компьютере.
Спасибо, все работает 🙂 ! Классный плагин!
Ответ на вопрос Alex’а:
Код виджета b-cumulus может быть установлен в любой HTML или XML файл. Только этот код является специфическим для Blogger-блога:
Он отвечает за передачу массива меток в облако (tagclowd.swf). Таким образом, если обеспечить сборку массива данных (руками или в цикле) для переменной flashvars.tagcloud, то облако будет работать на любой платформе. Формат массива выглядит так:
А как сылки в блогер добавить??
Честно говоря, не понял вопроса … Попробуйте конкретизировать … Что именно Вы хотите сделать или узнать?
я новичек в этом деле я не понял как его поставить! верней понял… у мну показывает тока логотип ! как теги добавить? туды…
Если Вы сделали всё как положено, должен показывать облако. Если показывает логотип, значит где-то ошибка. Дайте URL сайта, я посмотрю …
Поделитесь вашими flash sources наработками. Очень интересно взглянуть. Каким-то образом только ваша версия работает с кодировкой используемой поисковым модулем Юкоза. Я не могу сам скомпилировать нормальную версию используя исходники Роя Танка.
Буду очень признателен.
Какая именно версия Вас интересует? Их две (третья – личная, не в счёт): для WordPress (практически оригинал) и для Blogger (сильно подправленная) …
Какая именно версия я точно не скажу, меня интересуют исходники вот этого файла //forum.wafl.ru/files/freeman/tagcloud.swf
полагаю это как раз версия на этой странице, названная “Flash облако меток для Blogger-блога. Локализовано. Дополнительная функциональность.”
Очень хочется понять, каким образом решена проблема русской кодировки для URL
Вот то, что выводит файл, который я создаю из исходников Роя Танка (предварительно добавляя русскую кодировку по его же мануалу)
//zetclan.com/search/%C7%ED%E0%EC%E5%ED%E8%F2%EE%F1%F2%E8/
Это в облаке тегов отображается как тег “Знаменитости”,
а вот что выводит ваш swf файл при нажатии на тег “Знаменитости”
//zetclan.com/search/%D0%97%D0%BD%D0%B0%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D0%BE%D1%81%D1%82%D0%B8/
Последний вариант верен.
Я не могу разобраться почему они отличаются в силу малых познаний в данной области
Понятно! 😉 Рой у себя в блоге пишет, что облако выдаёт encoded линк. Но на самом деле это не так!
По Рою (tag.as):
Мой вариант:
Что касается freeman’а – то этот воришка несколько моих виджетов выдаёт за свои. В том числе и этот.