Расширенное облако тегов

Автор: Виктор
Опубликовано: 137 дней назад (14-03-2010 19:03)
Рубрика: Модули
Редактировалось: 3 раза — последний 137 дней назад
Настроение: Нормальное
Играет: птички за окном чирикают
+17
Голосов: 17
Доброго всем времени суток.
Смотрю опять поднимается вопрос по облаку тегов.
Некоторое время назад общими усилиями был создан модуль "Flash-облако тегов".
Кто-то нашел, Наталья (Солнечный ребенок) - интегрировала с движком.
А ваш скромный слуга подтесал напильничком smile
Модуль, кроме настроек в админке, имеет еще следующие настройки в файле самого модуля:
-количество отображаемых в облаке тегов
-кому в каком виде показывать облако. Варианты показа - текстовый или флеш. Можно настроить: всем показывать текстовый; всем показывать флеш; гостям показывать текстовый, а пользователям - флеш; всем показывать текстовый, а админу - флеш. Короче, у кого какая фантазия.

Установка модуля:

1. Скачиваем файл содержащий все необходимое

2. Загружаем все файлы в папку: www.ваш_сайт/

3. В файле www.ваш_сайт/templates/ваша_тема/template.php перед: </head>
добавляем:
<script src=’/modules/mod_tags/swfobject.js’ type=’text/javascript’></script>

4. Количество тэгов настраивается в файле /modules/mod_tags/modules.php в строке 13:
$kvo_tags=50;  
Выставляем нужное количество тегов. Сейчас 50.

5. Настраиваем вид вывода облака тегов.
Строка 85 сейчас выглядит так:
    if ( cmsUserId() == 0 ){
      Возможные варианты:
cmsUserId() == 0 - неавторизированные пойдут по ветке текстового облака, а авторизированные по ветке флеш-облака
cmsUserId() >= 0 - абсолютно все пойдут по ветке текстового облака
cmsUserId() > 0 авторизированные пойдут по ветке текстового облака, а неавторизированные по ветке флеш-облака
cmsUserId() == 1 - администратор пойдет по ветке текстового облака, а все остальные по ветке флеш-облака
cmsUserId() <> 1 - все кроме администратора пойдут по ветке текстового облака, а администратор по ветке флеш-облака
        Возможно, Вы захотите чтобы флеш отображался только Администратору и пользователю с id=54, тогда конструкцию:
if ( cmsUserId() == 0 ){
      заменяете на констукцию:
if ( ( cmsUserId() <> 1 ) and ( cmsUserId() <> 54 ) ){

    Описание этого также читаем в строках 86 - 94 файла /modules/mod_tags/modules.php

6. Настраиваем в админке условия вывода тегов.
- указываем минимальную длину выводимых тегов
- указываем минимальную частоту тегов встречаемых в материалах
- указываем из каких разделов будут участвовать теги в Облаке тегов
- выбираем сортировку

7. Меняем цвет фона флеш-облака: в файле www.ваш_сайт/modules/mod_tags/module.php
    ищем строку 93:
var widget_so = new SWFObject("/modules/mod_tags/tagcloud.swf?r="+rnumber, "tagcloudflash", "200", "200", "3", "#ffffff");
    где,
"#ffffff"- меняем на свой цвет фона, (ffffff - это белый цвет)
"200", "200" - устанавливаем нужный размер flash

Вот и всё: крутится, вертится :)

P.S. в данной версии Облака тегов я добавил также вывод частоты тега.
Для желающих включить эту возможность есть параметры:
Код PHP:
	# выводить частоту тега в текстовом варианте облака (0-не выводить, 1-выводить; сейчас стоит "НЕ ВЫВОДИТЬ")
	[b]$view_num_txt=0;[/b]

	# выводить частоту тега во флеш варианте облака (0-не выводить, 1-выводить; сейчас стоит "ВЫВОДИТЬ")
	[b]$view_num_swf=1;[/b]
Это цитата из файла /modules/mod_tags/modules.php, строки 15 - 19.
Думаю, тут все понятно.
Отмечу еще один пункт.
В строке 135 вышеуказанного файла стоит:
Код PHP:
	[b]if (( cmsUserId() == 1 ) and ( $view_num_swf == 1 )) {[/b] 
тем самым я задал вывод частоты тегов только для администратора сайта.
В сумме со строкой 85 (if ( cmsUserId() == 0 ){) работа модуля будет происходить так:
Флеш показывается всем пользователям прошедшим авторизацию, частота тегов показывается только администратору (id=1), всем остальным, в том числе роботам, показывается текстовая версия "Облака тегов" без указания частоты, всего в облаке будет не более 50 тегов (строка 13) наиболее встречающихся тегов.
P.P.S. Работу модуля можно посмотреть и с выводом частоты. Для этого нужно будет авторизоваться на сайте "tester/starter"
Устраняем дыру не снижая функциональности админки | Рекорд посетителей

Загрузка комментариев...