|

20.06.2011 в 02:28:12 | Добавил: rayven | Просмотров: 1569 | 2 ответа

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

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

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

Code

$MYINF_4$


<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>

В коде замените "адрес_Вашего_сайта" на координаты файлов у Вас на сайте.
Код нельзя вставлять в другие информеры (информеры нельзя вкладывать друг в друга, то есть нельзя вставлять содержимое информера $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

Источник http://zetclan.com/

| | |

1569 визитов
↳ 2 ответа
Ваше мнение о материале 0 из 10
Голосовало:

Похожие материалы

="uForm uComForm">
avatar
close