Мод Метатеги
Нужен ли для форума такой мод?
Мод Метатеги работает так - по индексированным сообщениям составляется рейтинг встречаемости определенных (ключевых) слов и в шапке возможна быстрая навигация по ним.
Пример http://www.delphisources.ru/ в левом верхнем углу
1. 1Bot - 22 августа 2009 — 19:16 - перейти к сообщению
2. M-A-X - 22 августа 2009 — 19:33 - перейти к сообщению
Типа облако тегов? Прикольная штука
3. mastersound - 23 августа 2009 — 02:32 - перейти к сообщению
1Bot
а у меня почемутто не работает ... http://www.delphisources.ru/ абраказябра всяка и никакой анимации.
Браузер - Мозилла
а у меня почемутто не работает ... http://www.delphisources.ru/ абраказябра всяка и никакой анимации.
Браузер - Мозилла
4. Victor - 23 августа 2009 — 05:15 - перейти к сообщению
mastersound у меня "Рыжый лис" и все работает...
1Bot чаще называют облако тегов, в общем в чем ее полезность при наличии поиска?
1Bot чаще называют облако тегов, в общем в чем ее полезность при наличии поиска?
5. 1Bot - 23 августа 2009 — 08:27 - перейти к сообщению
mastersound
Victor
не забываем голосовать =))
в красоте, в компактности
Какой JavaScript-движок у Мозилы? (Можно поставить от Sun Microsystems) Java Script использует в виджете SWF FlashPlayer
Красивое облако тегов выводится с помощью Flash и JS.
Основные составляющие:
1. Во первых нужен небольшой флеш файлик (весит ~40кб);
2. Во вторых небольшой JS файл (~5кб), этот файл подключаем к странице между тегами <head> </head>:
3. И сам код с помощью которого это облако формируется, о нем далее...
По материалам блога http://w-blog.ru/node/22
Victor
не забываем голосовать =))
Victor пишет:
в чем ее полезность при наличии поиска?
в красоте, в компактности
mastersound пишет:
а у меня почему-то не работает ... http://www.delphisources.ru/ абраказябра всяка и никакой анимации.
Браузер - Мозилла
Браузер - Мозилла
Какой JavaScript-движок у Мозилы? (Можно поставить от Sun Microsystems) Java Script использует в виджете SWF FlashPlayer
Красивое облако тегов выводится с помощью Flash и JS.
Основные составляющие:
1. Во первых нужен небольшой флеш файлик (весит ~40кб);
2. Во вторых небольшой JS файл (~5кб), этот файл подключаем к странице между тегами <head> </head>:
CODE:
<script type="text/javascript" src="swfobject.js"></script>
3. И сам код с помощью которого это облако формируется, о нем далее...
Спойлер (Отобразить)
По материалам блога http://w-blog.ru/node/22
6. electron - 23 августа 2009 — 08:57 - перейти к сообщению
на сайте - может быть, но на форуме по-моему он ни к чему
7. - 24 августа 2009 — 08:48 - перейти к сообщению
4 марта 2011 года добавлен вариант мода с кешированием, что снизит нагрузку на сервер при большом количестве посетителей. Описание настройки - там же.
ПОСТ исправлен 18.09.2009. Ниже добавлена инструкция по "скрещиванию" "облака" с модом Ссылки на последние темы форума на Вашем сайте. Исходная реализация, описание и необходимые файлы - см. тут (в архиве файлы tagcloud.swf и swfobject.js) и берём вложение из этого поста (файл lastforum2.php).
Можно очень просто скрестить форум с этим "облаком". Добавление "облака" к форуму (сайту). Делается так:
1. Копируем swfobject.js в папку /javascript форума, tagcloud.swf и lastforum2.php - в корень форума,
2. Отрываем /templates/ваш_скин/all_header.tpl, в нём находим строку:
Сразу за ней вставляем:
Сохраняем.
3. Открываем /templates/ваш_скин/logos.tpl, вверху ищем строку:
и перед ней вставляем строку:
4. Далее в этом же файле вставляем java-скрипт в том месте, где должно появиться "облако". Например, ищем строки:
и сразу за ними вставляем:
Сохраняем.
На "морду" сайта выносится аналогично, нужно только поправить пути к файлам (добавить папку форума, в которой все файлы лежат).
ПОСТ исправлен 18.09.2009. Ниже добавлена инструкция по "скрещиванию" "облака" с модом Ссылки на последние темы форума на Вашем сайте. Исходная реализация, описание и необходимые файлы - см. тут (в архиве файлы tagcloud.swf и swfobject.js) и берём вложение из этого поста (файл lastforum2.php).
Можно очень просто скрестить форум с этим "облаком". Добавление "облака" к форуму (сайту). Делается так:
1. Копируем swfobject.js в папку /javascript форума, tagcloud.swf и lastforum2.php - в корень форума,
2. Отрываем /templates/ваш_скин/all_header.tpl, в нём находим строку:
CODE:
<script type="text/javascript" language="JavaScript" src="javascript/JsHttpRequest/JsHttpRequest.js"></script>{$GLOBALS['fm']->_Link}
Сразу за ней вставляем:
CODE:
<script type="text/javascript" language="JavaScript" src="javascript/swfobject.js"></script>
Сохраняем.
3. Открываем /templates/ваш_скин/logos.tpl, вверху ищем строку:
CODE:
echo <<<DATA
и перед ней вставляем строку:
CODE:
require_once("lastforum2.php");
4. Далее в этом же файле вставляем java-скрипт в том месте, где должно появиться "облако". Например, ищем строки:
CODE:
<tr>
<td width="468" align="center" rowspan="2">{$fm->_Banner}</td>
<td valign="top" align="right"><span style="margin-right:15px;">{$fm->exbb['boarddesc']}</span></td>
</tr>
<td width="468" align="center" rowspan="2">{$fm->_Banner}</td>
<td valign="top" align="right"><span style="margin-right:15px;">{$fm->exbb['boarddesc']}</span></td>
</tr>
и сразу за ними вставляем:
CODE:
<div align=center id="tags">
Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var widget_so = new SWFObject("tagcloud.swf?r="+rnumber, "tagcloudflash", "640", "90", "9", "#ffffff");
widget_so.addParam("allowScriptAccess", "always");
widget_so.addVariable("tcolor", "0x333333");
widget_so.addVariable("tspeed", "100");
widget_so.addVariable("distr", "true");
widget_so.addVariable("mode", "tags");
widget_so.addVariable("tagcloud", "$tags");
widget_so.write("tags");
</script>
</div>
Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var widget_so = new SWFObject("tagcloud.swf?r="+rnumber, "tagcloudflash", "640", "90", "9", "#ffffff");
widget_so.addParam("allowScriptAccess", "always");
widget_so.addVariable("tcolor", "0x333333");
widget_so.addVariable("tspeed", "100");
widget_so.addVariable("distr", "true");
widget_so.addVariable("mode", "tags");
widget_so.addVariable("tagcloud", "$tags");
widget_so.write("tags");
</script>
</div>
Сохраняем.
На "морду" сайта выносится аналогично, нужно только поправить пути к файлам (добавить папку форума, в которой все файлы лежат).
8. hariuss - 24 августа 2009 — 10:14 - перейти к сообщению
Не помешал бы такой мод
9. yura3d - 24 августа 2009 — 15:36 - перейти к сообщению
1Bot пишет:
Какой JavaScript-движок у Мозилы? (Можно поставить от Sun Microsystems)
Sun Microsystems не имеет никакого отношения к JavaScript. Возможно, Вы путаете JavaScript с Java
Сразу скажу, что реализация подобного мода для всех сообщений форума (т.е. выделение популярных слов со всех сообщений) довольно ресурсоёмкая задача в плане нагрузки на сервер, даже при условии использования базы данных поисковой индексации. Да и получится неважно (например, в облако тегов могут войти часто встречаемые слова "который", а также существительные, отличные от именительного падежа, вырванные из контекста глаголы и т п), а всё потому, что смысл облака тегов не в выделении популярных слов. Их смысл в определении направлений (категорий), которые освещает сайт. Когда для сайта определён список направлений (например, для данного сайта можно определить такие, как ExBB, обновления, исправления, модификации и дополнения, темы оформления, локализации и т п), то каждая новость на сайте отмечается соответствующими тегами, и в дальнейшем при клике на тег можно вывести список новостей, которые он покрывает
В качестве примера приведу один из ведущих белорусских сайтов в области телекоммуникаций onliner.by (портал этого сайта основан на phpBB2)
Вот пример новости: Onliner.by провел тестирование 3G от life:). Снизу текста новости есть список тегов:
которые показывают, что данная новость имеет отношение к 3G (третье поколение мобильной связи) и оператору life:). Кликая по этим тегам, мы можем просмотреть все новости внедрения 3G в Беларуси (тег 3G) либо новости оператора life:) (тег life:)). Комбинация этих тегов (3G + life:)) выведет только новости, касающиеся внедрения технологии 3G оператором life:). Ну и соответственно в основное облако тегов (пример которого приводил 1Bot выше) мы выводим только те теги, которые покрывают наиболее популярные новости
Такой вариант облака тегов гораздо логичнее, и его проще применять для группировки той или иной информации, чем просто выдёргивание слов из контекста. Как это лучше применить на форуме, пока не знаю, если есть какие-то варианты, предлагайте
10. 1Bot - 24 августа 2009 — 16:55 - перейти к сообщению
11. - 24 августа 2009 — 22:06 - перейти к сообщению
Эх, yura3d чуть опередил.
Да, если конкретно нужны именно ключевые слова темы (сообщения), то лучше и логичнее вариант, который предложил Юра. Как вариант - эти ключевики можно генерить для страницы (темы) - вот пример (кликните в любую статью, там внизу есть строчка Теги:...).
Если же нужно просто красивое меню навигации на морде сайта или форума - можно сотворить это флэшевое облако, которое описано в первых постах темы, но в него пихать не ключевики, ибо
а как выше сказал - или последние посты, или самые популярные, благо тут никокой практически нагрузки на сервер не будет, ссылки добыть можно прямо средствами самого форума.
Да, если конкретно нужны именно ключевые слова темы (сообщения), то лучше и логичнее вариант, который предложил Юра. Как вариант - эти ключевики можно генерить для страницы (темы) - вот пример (кликните в любую статью, там внизу есть строчка Теги:...).
Если же нужно просто красивое меню навигации на морде сайта или форума - можно сотворить это флэшевое облако, которое описано в первых постах темы, но в него пихать не ключевики, ибо
yura3d пишет:
Сразу скажу, что реализация подобного мода для всех сообщений форума (т.е. выделение популярных слов со всех сообщений) довольно ресурсоёмкая задача в плане нагрузки на сервер, даже при условии использования базы данных поисковой индексации.
а как выше сказал - или последние посты, или самые популярные, благо тут никокой практически нагрузки на сервер не будет, ссылки добыть можно прямо средствами самого форума.
12. - 24 августа 2009 — 23:02 - перейти к сообщению
Файл перезалит 14.09.2009! Рекомендую заменить, подробности тут!
Так, вот накропал за 10 минут. Собрано на коленке, сильно не пинайте, это пример. Кому надо - доработаете напильником .
За основу взял свою функцию вывода последних постов, подробности по работе и настроке - тут. Что менял:
1. Уменьшил количество одновременно показанных тем до 10-ти:
2. Ссылки сгенерил в формате, который приведен в примере, т.е.:
3. При выводе оказалось, что текстА должны быть в utf-8, а у нас windows-1251.
Универсальной конвертилки-функции с ходу не вспомнил (iconv не везде работает), потому добавил функцию преобразования кодировки из windows-1251 в utf-8, не такая уж она большая:
4. Вывод выглядит так:
Кому интересно или что-то не понятно, цепляю готовый пример на php. Под свои нужды доработать не сложно.
В архиве версия под локальный сервер (Денвер), для нормальной работы нужно вписать путь к папке с форумом на сервере (ВНИМАНИЕ! Архив перезалил).
Прикрутил для пробы на свой форум, кому интересно, как выглядит - см. ссылку в подписи .
Так, вот накропал за 10 минут. Собрано на коленке, сильно не пинайте, это пример. Кому надо - доработаете напильником .
За основу взял свою функцию вывода последних постов, подробности по работе и настроке - тут. Что менял:
1. Уменьшил количество одновременно показанных тем до 10-ти:
CODE:
$num = 10;
2. Ссылки сгенерил в формате, который приведен в примере, т.е.:
CODE:
$allname .= "<a href=\"".$url."topic.php?forum=".$forumid."&topic=".$topicid."&postid=".$postkey."#".$postkey."\" style=\"font-size: 16pt\">".$topicname.$posts."</a>\n";
3. При выводе оказалось, что текстА должны быть в utf-8, а у нас windows-1251.
Универсальной конвертилки-функции с ходу не вспомнил (iconv не везде работает), потому добавил функцию преобразования кодировки из windows-1251 в utf-8, не такая уж она большая:
CODE:
function CP1251toUTF8($string){
$out = '';
for ($i = 0; $i<strlen($string); ++$i){
$ch = ord($string{$i});
if ($ch < 0x80) $out .= chr($ch);
else
if ($ch >= 0xC0)
if ($ch < 0xF0)
$out .= "\xD0".chr(0x90 + $ch - 0xC0); // А-Я, а-п (A-YA, a-p)
else $out .= "\xD1".chr(0x80 + $ch - 0xF0); // р-я (r-ya)
else
switch($ch){
case 0xA8: $out .= "\xD0\x81"; break; // YO
case 0xB8: $out .= "\xD1\x91"; break; // yo
// belorussian and ukrainian
case 0xA1: $out .= "\xD0\x8E"; break; // Ў (U)
case 0xA2: $out .= "\xD1\x9E"; break; // ў (u)
case 0xAA: $out .= "\xD0\x84"; break; // Є (e)
case 0xAF: $out .= "\xD0\x87"; break; // Ї (I..)
case 0xB2: $out .= "\xD0\x86"; break; // I (I)
case 0xB3: $out .= "\xD1\x96"; break; // i (i)
case 0xBA: $out .= "\xD1\x94"; break; // є (e)
case 0xBF: $out .= "\xD1\x97"; break; // ї (i..)
}
}
return $out;
}
$out = '';
for ($i = 0; $i<strlen($string); ++$i){
$ch = ord($string{$i});
if ($ch < 0x80) $out .= chr($ch);
else
if ($ch >= 0xC0)
if ($ch < 0xF0)
$out .= "\xD0".chr(0x90 + $ch - 0xC0); // А-Я, а-п (A-YA, a-p)
else $out .= "\xD1".chr(0x80 + $ch - 0xF0); // р-я (r-ya)
else
switch($ch){
case 0xA8: $out .= "\xD0\x81"; break; // YO
case 0xB8: $out .= "\xD1\x91"; break; // yo
// belorussian and ukrainian
case 0xA1: $out .= "\xD0\x8E"; break; // Ў (U)
case 0xA2: $out .= "\xD1\x9E"; break; // ў (u)
case 0xAA: $out .= "\xD0\x84"; break; // Є (e)
case 0xAF: $out .= "\xD0\x87"; break; // Ї (I..)
case 0xB2: $out .= "\xD0\x86"; break; // I (I)
case 0xB3: $out .= "\xD1\x96"; break; // i (i)
case 0xBA: $out .= "\xD1\x94"; break; // є (e)
case 0xBF: $out .= "\xD1\x97"; break; // ї (i..)
}
}
return $out;
}
4. Вывод выглядит так:
CODE:
<?php
$tags = "<tags>".CP1251toUTF8($allname).'</tags>';
?>
$tags = "<tags>".CP1251toUTF8($allname).'</tags>';
?>
Кому интересно или что-то не понятно, цепляю готовый пример на php. Под свои нужды доработать не сложно.
В архиве версия под локальный сервер (Денвер), для нормальной работы нужно вписать путь к папке с форумом на сервере (ВНИМАНИЕ! Архив перезалил).
Прикрутил для пробы на свой форум, кому интересно, как выглядит - см. ссылку в подписи .
13. 1Bot - 25 августа 2009 — 00:09 - перейти к сообщению
Zeg пишет:
Так, вот накропал за 10 минут. Собрано на коленке, сильно не пинайте, это пример. Кому надо - доработаете напильником .
+1 Спасибо за объединение Облака тегов с Ссылками на последние темы форума всё отлично работает!!!
mastersound пишет:
а у меня почемутто не работает ... http://www.delphisources.ru/ абраказябра всяка и никакой анимации.
Браузер - Мозилла
Браузер - Мозилла
Для корректной работы в альтернативных системному браузеру IE нужно установить Adobe Flash Player 10.0.32.18 (Firefox, Mozilla, Netscape, Opera)
Должен быть установлен в обязательном порядке, естественно если Вы хотите просматривать анимацию на страницах браузера!
Последнее обновление: 31.07.2009
Сайт программы: www.adobe.com/products/flashplayer
Русский язык: Нет
Условия использования программы: Free
Операционные системы: XP/Vista
Скачать/Download (1.8 мб)
14. robert - 17 сентября 2009 — 13:02 - перейти к сообщению
Форумчане, очень я хочу себе на главную страницу сайта или снизу форума облако тегов установить (такое как у Zeg) но что-то не могу "догнать", как это облако тегов устанавливать..(торможу видимо).
Немножко расширить описание можно? И возможна ли установка "облака тегов" без "последних тем форума" - т.к. у меня другая версия.
Заранее спасибо за советы.
Немножко расширить описание можно? И возможна ли установка "облака тегов" без "последних тем форума" - т.к. у меня другая версия.
Заранее спасибо за советы.
15. Defenderyk - 17 сентября 2009 — 14:08 - перейти к сообщению
yura3d пишет:
Такой вариант облака тегов гораздо логичнее
ну взять, так и применить. т.е сделать доп. поле ТЕги: куда юзер сможет вписать их при открытии темы