Страница 1 из 11
Форум » Для Вебмастеров » Скрипты » Трехмерное облако тегов
Трехмерное облако тегов
Admin УкраинаДата: Суббота, 20.06.2009, 18:15 | Сообщение # 1
ГЛАВНЫЙ
Группа: Администраторы
Сообщений: 586
[ 7 ]
Награды:
[ 7 ]
:-(
Предлагаю Вашему вниманию описание установки 3-х мерного облака тегов на сайт.

Многие из Вас видели на некоторых сайтах красивое облако тегов в 3D формате. Когда подводишь к нему курсор, он начинает вертеться. Стороны шара такого облака созданы из ссылок на определенные страницы сайта. Вот такое облако и будем ставить на сайт. Этот способ установки позволяет видеть ссылки облака не только тем, у кого установлен флеш и включен запуск JavaScript, но и тем, у кого это все отключено.

Это облако может работать с русским текстом (кириллицы) в строке адреса.

Для размещения облака на сайте нужен будет следующий код:

Code
<script type="text/javascript" src="http://szenprogs.ru/tagcloud/swfobject.js"></script>
<div id="3dcloud_block" style="text-align:center;font-size:12pt;">
Для отображения блока требуется <a href="http://szenprogs.ru/load/8-1-0-92" target="_blank" title="Скачать Flash Player 10 бесплатно">Flash Player 10</a>

$MYINF_990$
</div>
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var so = new SWFObject("http://szenprogs.ru/tagcloud/tagcloud.swf?r="+rnumber, "tagcloudflash", "400", "300", "9");
var tags = new String('$MYINF_990$');
tags = tags.replace(/"/g,"'");
tags = tags.replace(/<noindex>/gi,"");
tags = tags.replace(/<\/noindex>/gi,"");
tags = "<tags>" + tags + "</tags>";
so.addParam("wmode", "transparent");
so.addParam("allowScriptAccess", "always");
so.addParam("bgcolor", "#FF0000");
so.addVariable("tspeed", "150");
so.addVariable("distr", "true");
so.addVariable("mode", "tags");
so.addVariable("minFontSize", "8");
so.addVariable("maxFontSize", "14");
so.addVariable("tcolor", "0x009CFF");
so.addVariable("tcolor2", "0x009CFF");
so.addVariable("hicolor", "0x009CCF");
so.addVariable("tagcloud", tags);
so.write("3dcloud_block");
</script>

Код целиком готов к использованию. Достаточно подшлифовать облако под Ваш дизайн. Следующие параметры нужно изменить, чтобы облако выглядело на Вашем сайте как родное.

[spoiler="Спойлер"]"400" - ширина будущего облака тегов в пикселях.
"300" - высота будущего облака тегов.
"9" - максимальная версия флеш-плеера, которая нужна для отображения облака.
"wmode", "transparent" - устанавливаем фон облака прозрачным. Если убрать эту строку, то можно будет самим задавать цвет фона.
"minFontSize", "8" - размер самого маленького шрифта в облаке. Размер задается в пунктах.
"maxFontSize", "14" - размер самого крупного шрифта в облаке. Размер задается в пунктах.
"tcolor", "0x009CFF" - цвет самого частого текста в облаке тегов в RGB формате. Частота текста определяется по свойству ссылки style. 0x не меняем.
"tcolor2", "0x009CFF" - цвет самого редкого текста в облаке тегов в RGB формате. Частота текста определяется по свойству ссылки style. 0x не меняем.
"hicolor", "0x009CCF" - цвет текста при наведении на него курсора. 0x не меняем.
"tspeed", "150" - скорость вращения.
"distr", "true" - тип вращения облака, может принимать значение "true" или "false".[/spoiler]

Источник: http://szenprogs.ru/

pass92 УкраинаДата: Суббота, 20.06.2009, 19:01 | Сообщение # 2
Рядовой
Группа: Пользователи
Сообщений: 2
[ 0 ]
Награды:
[ 0 ]
:-(
Классная штука у меня на сайте стоит, только говорят 1н минус после удаления файлов тег с облака не пропадает (

Admin УкраинаДата: Вторник, 23.06.2009, 18:52 | Сообщение # 3
ГЛАВНЫЙ
Группа: Администраторы
Сообщений: 586
[ 7 ]
Награды:
[ 7 ]
:-(



Flash-облако тегов с поддержкой кириллицы, портировано с WordPress.
Адаптированно под юКоз

Инструкция со свежими дополнениями и исправлениями

Установка:
1. Скачайте архив:
сферическое облако - uCoz-cumulus-1.0.zip
или овальное облако тегов - uCoz-cumulus-1.0_oval_vertical.zip
2. Распакуйте архив и его содержимое (swfobject.js и tagcloud.swf) закачайте на свой сайт (можно в любую папку).
3. Затем в том месте, где будет облако на сайте, вставьте код (по этой ссылке - самая свежая версия кода): 

Code
<?if($USER_AGENT$='ie' && $USER_AGENT_VER$<7)?>
$MYINF_4$
<?else?>

<div id="yoblako" align="center">$MYINF_4$</div>

<script type="text/javascript" src="http://адрес_Вашего_сайта/swfobject.js"></script>
<script type="text/javascript">
var flashvars = {};
flashvars.mode = 'tags';
flashvars.minFontSize = '8';
flashvars.maxFontSize = '14';
flashvars.tcolor = '0x1D3D61';
flashvars.tcolor2 = '0x4D6D91';
flashvars.hicolor = '0xd193978';
flashvars.distr = 'true';
flashvars.tspeed = '100';

eTagz = document.getElementById('yoblako').getElementsByTagName('A');
flashvars.tagcloud = '<tags>';
for (var i=0; eTagz[i]; ++i) flashvars.tagcloud += '<a href=\'' + eTagz[i].getAttribute('href')
+ '\' style=\'' + parseInt(eTagz[i].style.fontSize)
+ '\'>' + eTagz[i].innerHTML.replace(/&amp;/i, '%26') + '</a>';
delete eTagz;
flashvars.tagcloud += '</tags>';
var params = {};
params.wmode = 'transparent';
params.bgcolor = '#FFFFFF';
params.allowscriptaccess = 'always';
var attributes = {};
attributes.id = 'yoblako';
attributes.name = 'tagcloud';
swfobject.embedSWF('http://адрес_Вашего_сайта/tagcloud.swf', 'yoblako', '250', '200', '9.0.0', false, flashvars, params, attributes);
</script>
<?endif?>

В коде замените "адрес_Вашего_сайта" на координаты файлов у Вас на сайте.
Код нельзя вставлять в другие информеры (информеры нельзя вкладывать друг в друга, то есть нельзя вставлять содержимое информера $MYINF_4$ внутрь содержимого $MYINF_5$ и тп)

Применяя условный оператор для $USER_AGENT$='ie' && $USER_AGENT_VER$<7 - запрещаем выводить флеш-облако для версии IE ниже 7
(для этих пользователей будет отображаться обычное текстовое облако)

id="yoblako" - это идентификатор контейнера с облаком, в который будет помещён флеш-объект, для идентификатора можно задать стили в файле CSS
В дизайне Таблица стилей (CSS) добавьте параметр

#yoblako{outline:0;}

Параметр запрещает отображение пунктирной рамки вокруг всего flash-объекта при нажатии на него. // Спасибо, -RomB-, за эту подсказку.
Можно выровнять контейнер по центру, добавляя align="center" внутрь тега div.

$MYINF_4$ - это ссылка на ваш информер соответствующий облаку тегов юКоза, измените цифру, если необходимо.
(В настройках информера "Теги" укажите число выводимых тегов: 50. Проверьте, что способ вывода установлен на "Облако тегов" )

В строках

<script type="text/javascript" src="http://адрес_вашего_сайта/имя_папки/swfobject.js"></script>
...
swfobject.embedSWF('http://адрес_вашего_сайта/имя_папки/tagcloud.swf', 'yoblako', '250', '200', '9.0.0', false, flashvars, params, attributes);

замените адрес_вашего_сайта/имя_папки/ на соответствующие координаты.

Настройка:

*в строке "swfobject.embedSWF("http://адрес_вашего_сайта/tagcloud.swf", "yoblako", "250", "200", "9.0.0", false, flashvars, params, attributes);"
250 - это ширина виджета в пикселях. 200 - это высота виджета в пикселях.

*flashvars.minFontSize = "8"; - минимальный размер шрифта.
*flashvars.maxFontSize = "14"; - максимальный размер шрифта.
*flashvars.tcolor = "0xffffff";- цвет самого редкого ярлыка.
*flashvars.tcolor2 = "0x0be4f8"; - цвет самого популярного ярлыка. Для остальных ярлыков будет выбран цвет между этими двумя.
*flashvars.hicolor = "0xd95800";- цвет текста при наведении курсора на ярлык.
*flashvars.tspeed = "100";- скорость вращения Flash Облака тегов
*params.wmode = "transparent"; - этот параметр обозначает прозрачный фон.
*params.bgcolor = "#333333"; - цвет фона Flash Облака тегов.

// Спасибо -RomB-, за хирургическое извлечение ссылок облака и его html-код для вставки облака на страницу
// Отдельная благодарностьminimus'уза решение проблемы кодировки URL
// Ну и конечно же мега-респект Рою Танку, за его плагин для Вордпресс - флеш облако тегов
// Большая благодарность webanet, за помощь в настройке и интеграции с системой юКоз

Дополнения:

Если требуется поддержка символов расширенной латиницы (например, символов ĀāČčĒēĢģĪīĶķĻļŅņŠšŪūŽž), то скачивать и устанавливать для сферического облака вот этот архив uCoz-cumulus-1.0_extended_latin.zip

Была решена проблема с символов & при помощи замены его используя аналог обозначения & в 16-ричной системе %26.
eTagz[i].innerHTML.replace(/&amp;/i, '%26')

Чтобы удалить битые теги (которые остались в облаке, но материалы с ними удалены):
1. Заходим на страницу любого пользователя, кроме тех, которые имеют материалы. (можно создать локального пользователя для этого дела, например, с именем MrProper)
2. Находим модер-панель и кнопку "Удаление записей пользователя" (вот такой значок - )
3. Выбираем любой модуль, который может содержать теги (например, модуль Новости сайта). Ставим галочку.
4. Включаем мозг. Думаем. Есть ли материалы у этого пользователя в этом модуле. Если пользователь создан Вами, как "мистер Пропер", то он не добавлял материалы, значит и ничего не удалится. Можно смело удалять несуществующие материалы.
5. Вводим код проверки и жмём "удалить"

Это ещё более изящный метод тыка, придуманный разработчиками для очистки битых тегов, но он работает.
Напомню, информер с облаком тегов обновится через 15 минут.
Будьте осторожны с этими манипуляциями: не удалите случайно материалы пользователей.
Перед чисткой убедитесь, что у пользователя нет материалов.

Чтобы не ждать 15 минут, а обновить сразу же информер с тегами, делаем по методу webanet
1. Надо пройти в Панель Управления сайтом - информеры - найти Ваш информер с тегами - нажать на значок гаечного ключа (редактировать) - всплывет окно для редактирования.
2. Вы ничего не меняете, а просто жмёте сохранить.
3. Идете на страницу с облаком, перезагружаете её и не находите битых тегов.
Всё просто. Необходимо ничего не изменяя пересохранить информер с тегами.

Как добавить логотип внутрь облака (это оптическая иллюзия, на самом деле, логотип сзади)

Если поступить просто, то нужно всего лишь присвоить контейнеру стиль с фоновым изображением. Например для ячейки таблицы:
------------------------------------
<td style="background: url('images/logobgoblako.png') center center no-repeat;padding:0px 0px 0px 0px;"> Код для вставки облака </td>
------------------------------------
Или контейнера <div style="background: url('images/logobgoblako.png') center center no-repeat;padding:0px 0px 0px 0px;"> Код для вставки облака </div>

Если поступить сложнее, то:

В Таблице стилей (CSS) создать отдельный класс для контейнера облака. В случае с ячейкой таблицы:

td.backoblako {
background-image: url('images/logobgoblako.png'); /* Путь к фоновому рисунку */
background-position: center center; /* Положение фона Синтаксис background-position: [проценты | значение] | [left | center | right] || [top | center | bottom] */
background-repeat: no-repeat; /* Отменяем повторение фона */
}

На страницах сайта, там где вставляется код облака, для ячейки присваиваем класс backoblako

<td class="backoblako"> Код для вставки облака </td>

Если требуется сделать объект на всю ширину (или высоту) ячейки таблицы.
Поможет вот что:

<table border="0" width="100%" cellpadding="0" cellspacing="0" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
а в теле ячейки (td) нужно удалить все style="padding-left:15px;" и прочее
тогда отступов от границ таблицы не будет

На данном этапе большинство ошибок с информером Теги были выявлены и устранены.
Это наиболее полный пост на данный момент по установке и настройке вращающегося облака тегов во флеше для uCoz


Облако тегов во флеше, флеш-облако тегов, облако тегов для Юкоз, пунктирные точки убрать при нажатии на флеш flash, границу убрать

Форум » Для Вебмастеров » Скрипты » Трехмерное облако тегов
Страница 1 из 11
Поиск: