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

rsn

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

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

capricorn

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

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

rsn

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

rsn

  • Давно я тут
  • 520
  • 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

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

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

rsn

  • Давно я тут
  • 520
  • 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. ))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Озвучивание текста на сайте

Автор Cherr23

Ответов: 2
Просмотров: 2489
Последний ответ 29.08.2023, 19:26:50
от Bobbi86
Изменить размер видео на сайте

Автор MultiMatrix83

Ответов: 5
Просмотров: 1400
Последний ответ 15.08.2022, 07:57:42
от marksetter
Модуль устанавливается, но Joomla его не видит

Автор ruppert

Ответов: 20
Просмотров: 16347
Последний ответ 01.08.2022, 05:30:50
от rezon777
Как сделать что бы заголовки статей на сайте были в теге <h1>?

Автор MultiMatrix83

Ответов: 10
Просмотров: 1591
Последний ответ 27.04.2022, 15:56:45
от MultiMatrix83
[Решено] title материалов и категорий без пунктов меню

Автор pharaoh

Ответов: 269
Просмотров: 58904
Последний ответ 03.02.2022, 02:45:26
от globus812