Перейти к содержимому


RuWeb.Net

Flash облако тэгов (ссылок)


No replies to this topic

#1 KoVaLsKy

    Продвинутый пользователь

  • Модераторы
  • 906 Сообщений:
  • ГородИваново

Отправлено 19 июля 2011 - 03:14

Для начала я бы хотел сказать, что это не совсем облако ТЭГОВ (это название приелось пользователям wordpress, которые юзали плагин WP_cumulus, который в свою очередь действительно выводил автоматом ТЭГИ из записей и страниц.) Отсюда и поехало название.
теперь к делу.
качаем файл (внизу ссылка на скачку), создал каталог с именем , например tagcloud , в корневой директории сайта и заливаем распакованные файлы туда.
Теперь думаем куда вставить облако. мне нравится вствлять в боксы.
открываем любой бокс (templates/vamshop/boxes/бокс_пациент.html) и вставляем код, причем заранее подумав куда его воткнуть, что бы не вылезла ошибка.)
Да, в редакторе не забудьте поставить кодировку "UTF-8 (без BOM)"
<script type="text/javascript" src="http://www.мойсайт.com.ua/tagcloud/swfobject.js"></script>
 <div id="tags"> 
 {php}
 $tags = '<tags>
 <a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
 </tags>';

 echo "<script type=\"text/javascript\">";
 echo "var rnumber = Math.floor(Math.random()*9999999);";
 echo "var widget_so = new SWFObject(\"http://www.мойсайт.com.ua/tagcloud/tagcloud.swf?r=\"+rnumber, \"tagcloudflash\", \"200\", \"160\", \"9\", \"#ffffff\");";
 echo "widget_so.addParam(\"allowScriptAccess\", \"always\");";
 echo "widget_so.addVariable(\"tcolor\", \"0x00FF00\");";
 echo "widget_so.addVariable(\"tspeed\", \"115\");";
 echo "widget_so.addVariable(\"minFontSize\", \"20\");";
 echo "widget_so.addVariable(\"maxFontSize\", \"40\");";
 echo "widget_so.addVariable(\"distr\", \"true\");";
 echo "widget_so.addVariable(\"mode\", \"tags\");";
 echo "widget_so.addVariable(\"tagcloud\", \"";echo urlencode($tags);echo "\");";

 echo "widget_so.write(\"tags\");";
 echo "</script>"; 
 {/php}
 </div>

меняем мой сайт на свой
сохраняем, перезагружаем страницу в браузере и вуаля облако работает.
только вот беда, какой то он не хороший. тут играем с параметрами
в строке
 echo "var widget_so = new SWFObject(\"http://www.мойсайт.com.ua/tagcloud/tagcloud.swf?r=\"+rnumber, \"tagcloudflash\", \"200\", \"160\", \"9\", \"#ffffff\");";
#ffffff
-цвет фона
200
-его ширина
160
-его высота
для отображения правильной сферы отношение высоты к ширине должно быть 3/4
#ffffff
цвет фона
едем дальше
echo "widget_so.addVariable(\"tcolor\", \"0x00FF00\");";
- цвет ссылок облака
echo "widget_so.addVariable(\"tspeed\", \"115\");";
- скорость (не советую ставить большую)
echo "widget_so.addVariable(\"minFontSize\", \"20\");";
echo "widget_so.addVariable(\"maxFontSize\", \"40\");";
-минимальный и максимальный размер шрифта


теперь поехали рождаться вопросы
"а как сделать фон облака прозрачным?"
Ответ:
echo "widget_so.addParam(\"wmode\", \"transparent\");";
вставляете после строчки
echo "var widget_so = new SWFObject(\"http://сайт/tagcloud/tagcloud.swf?r=\"+rnumber, \"tagcloudflash\", \"200\", \"160\", \"9\", \"#fff\");";

"А как сделать облако резиновым, а то уезжает все?"
Ответ: в строчке
echo "var widget_so = new SWFObject(\"http://сайт/tagcloud/tagcloud.swf?r=\"+rnumber, \"tagcloudflash\", \"200\", \"160\", \"9\", \"#fff\");";
вместо 200 и 160 поставить 200% и 160%

в итоге я получил код:
<script type="text/javascript" src="http://сайт/tagcloud/swfobject.js"></script>
 <div id="tags"> 
 {php}
 $tags = '<tags>
 <a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
<a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
<a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
<a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
<a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
<a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
<a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
<a href="http://мойсайт.com.ua/index.php?cat=29" >Телефоны</a>
 <a href="http://мойсайт.com.ua/index.php?cat=8" >Навигаторы</a>
 <a href="http://мойсайт.com.ua/index.php?cat=3" >Плееры</a>
 </tags>';

 echo "<script type=\"text/javascript\">";
 
 echo "var rnumber = Math.floor(Math.random()*9999999);";
 echo "var widget_so = new SWFObject(\"http://сайт/tagcloud/tagcloud.swf?r=\"+rnumber, \"tagcloudflash\", \"100%\", \"500%\", \"9\", \"#fff\");";
 echo "widget_so.addParam(\"wmode\", \"transparent\");";
 echo "widget_so.addParam(\"allowScriptAccess\", \"always\");";
 echo "widget_so.addVariable(\"tcolor\", \"0x00FF00\");";
 echo "widget_so.addVariable(\"tspeed\", \"115\");";
 echo "widget_so.addVariable(\"minFontSize\", \"20\");";
 echo "widget_so.addVariable(\"maxFontSize\", \"40\");";
 echo "widget_so.addVariable(\"distr\", \"true\");";
 echo "widget_so.addVariable(\"mode\", \"tags\");";
 echo "widget_so.addVariable(\"tagcloud\", \"";echo urlencode($tags);echo "\");";

 echo "widget_so.write(\"tags\");";
 echo "</script>"; 
 {/php}
 </div>

Спросите а зачем столько Ссылок в примере? ответ просто, так проще проверить ровность сферы, параметры вращения и видимость ссылок при наведении
Выражаю благодарность sanyok1982 за его упроство и предоставленные файлы
P.S. sanyok1982, строчка
$tags=iconv("windows-1251","UTF-8", $tags);
была лишней в коде, она била кодировку

Прикрепленные файлы

  • Прикрепленный файл  tagcloud.zip (53,18К)
    Количество загрузок:: 26

Время и место каждого поступка определяется судьбой, но если не придет герой, не будет и поступка.
Sitebuilding





1 человек читают эту тему

0 пользователей, 1 гостей, 0 скрытых пользователей