0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 6274 Просмотров
*

rsn

  • Давно я тут
  • 519
  • 34 / 3
Всем доброго времени суток.
Хотелось бы поинтересоваться, кто как решает проблему отображения завышенного количества гостей!
Речь идёт о стандартном модуле J2.5 "Кто на сайте" (если им кто-то пользуется, конечно)))

Судя по всему, модуль к числу гостей приравнивает и поисковых роботов и прочее.
На J1.5 использовал модуль DWho's Online, но теперь (с переездом на 2.5) нет такой возможности.
Буду благодарен за Ваши варианты и комментарии.
« Последнее редактирование: 13.12.2012, 15:51:49 от rsn »
Возможно, будет интересно: Интеграция с Ozon
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Время сессии установите 1 мин.
*

rsn

  • Давно я тут
  • 519
  • 34 / 3
Время сессии установите 1 мин.
Для чего? Чтобы пользователей выкидывало через минуту? И меня из админки тоже? )))
Возможно, будет интересно: Интеграция с Ozon
*

rsn

  • Давно я тут
  • 519
  • 34 / 3
Вообще есть одна идея. Попробую реализовать, потом отпишусь.
Возможно, будет интересно: Интеграция с Ozon
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Я указал 1 мин как пример. Поставьте реально 15 мин и посмотрите.

Если есть желание кардинально все отрегулировать, ищите причину в файле helper.php модуля whoisonline.

В качестве примера даю вам ссылку на пример хака для J1.5. Найдете там исходный материал.

http://forum.joomla.org/viewtopic.php?f=431&t=309594
*

rsn

  • Давно я тут
  • 519
  • 34 / 3
Спасибо! Но у меня переезд сайта, у которого в индексе поисковиков были тысячи страниц)) И вот теперь роботы набросились анализировать новую структуру (она изменилась, т.к. были переходы на другие компоненты).
Поэтому даже изменение времени сессии мне не поможет, также как и всем оказавшимся в подобной ситуации - в минуту могут быть десятки или сотни роботов.
А выглядит это нелепо - вверху читаем сейчас на сайте 300, допустим, гостей, а внизу в статистике смотрим что сегодня сайт посетило к примеру 250 чел))
Решение уже нашёл и испробовал! Отлично работает, позже опишу.

Что касается ссылки, не ас в английском, но мне показалось, там несколько другая проблема.
Возможно, будет интересно: Интеграция с Ozon
*

rsn

  • Давно я тут
  • 519
  • 34 / 3
Итак, моё решение:

Проблема состоит в том, что среди готей учитываются боты. Следовательно, нужно научится их отлавливать или...
позаимствовать результат такого умения у специализированных сервисов  ;)

Я пошёл по второму пути. Современные сервисы статистики, как мы знаем, отлично справляются с отсеиванием ботов.
У liveinternet есть счётчик (который самый большой), который показывание хосты "на линии" - этот как раз посетители за последние 15 минут.
Хотел было сначала вставлять такой счётчик на сайт, потом его парсить)))
Потом узнал, что по кой-какой ссылке можно вообще получить картинку статистики для любого сайта (даже если она закрыта)))) Хотел парсить эту картинку..
Позже наткнулся и на ссылку, по которой можно получить статистику уже даже в тектовом виде - то, что надо!

Осталось только пропарсить страницу по этой ссылке и вставить себе в модуль.
Сделал это на уровне шаблона для модуля - вполнекорректное решение, при обновлении Joomla модуль продолжит работу.

Итак, скопировал php файл шаблона модуля в templates/папку_своего_шаблона/html/mod_whosonline/default.php и соответственно переназвал его rsn-hack.php )))
Потом в настройках модуля выбираем шаблон этот, естественно)

А в шаблоне перед тем как идёт:
Код
<?php if ($showmode == 0 || $showmode == 2) : ?>
<?php $guest = JText::plural('MOD_WHOSONLINE_GUESTS', $count['guest']); ?>
<?php $member = JText::plural('MOD_WHOSONLINE_MEMBERS', $count['user']); ?>

Вставляем:
Код
<?php
$ch9 = curl_init ();
curl_setopt ($ch9 , CURLOPT_URL , "http://counter.yadro.ru/values?site=ваш-сайт.ру");
curl_setopt ($ch9 , CURLOPT_RETURNTRANSFER , 1 );
$content9 = curl_exec($ch9);
curl_close($ch9);
preg_match_all("|LI_online_vis = (.*);|sei", $content9, $matches, PREG_PATTERN_ORDER);
$count['guest'] = $matches[1][0] - $count['user']; ?>

<?php if ($count['guest'] < 0):
$count['guest'] = 0;
endif; ?>

ваш-сайт.ру, естественно, заменяем на Ваш домен, к оторому подключена стаистика liveinternet

где:
- первая часть это парсинг числа гостей. Мне кажется это не самый лучший способ, но я сам не программист, сделал, порывшись на форумах, вроде работает)) Если кто поправит в лучший вид, буду только благодарен!!
  и тут же из числа общих посетителей вычитаем пользователей (liveinternet же их не различает)
- а вторая часть это проверка, что если пользователей может оказаться больше, чем всего посетителей (liveinternet считает с небольшим опозданием и может стоять разное время сессий), то, чтобы не показывало "минус", а в крайнем случае 0 гостей.

В итоге получаем отличную работу модуля. Проверено.

Небольшие недостатки:
1. Работает только если на сайте есть стаистика liveinternet (но она у многих из рунета есть). Хотя по большому счёту можно аналогично связать и сдругими сервисами статистики
2. Время жизни сессии должно быть желательно 15 минут, чтобы оно соответствовало настройкам liveinternet - ну, чтобы правильно высчитывались общие посетители минус авторизованные пользователи = гости
3. Подсчёт гостей чуть чуть отстаёт. По моим наблюдениям секунд на 10 где-то. Но это терпимо, думаю. Особенно по сравнению с недостатком, когда в стандартном варинате отображались сотни фальшивых гостей))
4. Если вдруг liveinternet не будет работать, то модуль будет показывать 0 гостей. В идеале бы хотел в этом случае показывать "на сайте есть гости".

Вот так. Если что, прикладываю файл шаблона, токо не забудьте в нём свой сайт прописать, вместо ваш-сайт.ру. Можно было, конечно, и модуль сделать с таким параметром, но пока не охото)
Отзывы принимаются  ;)


[вложение удалено Администратором]
Возможно, будет интересно: Интеграция с Ozon
*

alex_a_k

  • Захожу иногда
  • 381
  • 21 / 0
Как вариант можно использовать этот модуль.
Не жмитесь на "+" в репу!
А так же на мелкий donate. ))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 267
Просмотров: 52348
Последний ответ 25.10.2021, 09:02:50
от Gerostrat
Форма или модуль загрузки файлов пользователями

Автор НадеждаМакарова

Ответов: 2
Просмотров: 566
Последний ответ 23.03.2020, 10:30:40
от НадеждаМакарова
Вместо позиций блоков Joomla показывает 404 ошибку

Автор MultiMatrix83

Ответов: 3
Просмотров: 767
Последний ответ 13.07.2019, 18:06:01
от MultiMatrix83
Озвучивание текста на сайте

Автор Cherr23

Ответов: 1
Просмотров: 1213
Последний ответ 23.01.2019, 13:14:00
от Ilhom666
Как скрыть модуль от мобильных устройств?

Автор shalunish

Ответов: 57
Просмотров: 19868
Последний ответ 19.09.2018, 14:21:59
от droncs46