Новости Joomla

Загадочный параметр $live_site в configuration.php Joomla

Загадочный параметр $live_site в configuration.php Joomla

👩‍💻 Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.Однако, параметр всё же остался в ядре Joomla. Зачем он нужен? А нужен он в 2-х случаях:- для работы класса Joomla\CMS\Uri\Uri, который часто используется в коде Joomla для работы методов Uri::root() и Uri::base(), а значит может влиять и на работу в том числе ajax-скриптов.- для работы Joomla в CLI - командной строке сервера. В случае если вы используете в вашем CLI-плагине методы опять-таки класса Uri, то CLI ничего не знает о текущем домене, так как запускается вне web-сервера. Поэтому домен нужно указывать принудительно. Либо с помощью параметра командной строки --live-site, например, —live-site=https://site.ru/. Со слешем на конце, иначе в CLI адрес сайта станет https://site.rujoomla.php.Либо в параметре $live_site в файле configuration.php, так как CliApplication берёт настройку оттуда, если параметр команды не указан или пуст.⚠️ Иначе в качестве хоста и url класса Uri будет установлено https://joomla.invalid/set/by/console/application. В самом же коде команды получить параметр $live_site можно из объекта приложения

protected function doExecute(InputInterface $input, OutputInterface $output): int    {         //...              $live_site = $this->getApplication()->get('live_site');         //...    }
и исходя из этого строить дальнейшую логику.@joomlafeed#joomla #разработка #php #cli

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks

Вышел плагин AllVideos v.7.0 от JoomlaWorks.Этот контент-плагин - одно из старейших расширений для Joomla. Его задача - преобразовывать шорт-коды вида {YOUTUBE}...{/YOUTUBE}, {MP3}parth/to/file.mp3{/MP3} и подобные во встроенные видео или аудио.👩‍💻 v.7.0.0. Что нового?- Добавлена поддержка Youtube Shorts. Просто скопируйте полный url видео и вставьте его внутри тегов {YOUTUBE}...{/YOUTUBE}.- Поддержка Joomla 5.x без плагина обратной совместимости. PHP 5, PHP 7, PHP 8. - Индексация умным поиском в CLI. В Joomla 5 плагин перестал вызывать ошибку при индексации контента умным поиском через CLI,Заметьте, что этот один и тот же пакет для всех версий Joomla, начиная с 1.5.x и заканчивая 5.x. Технически "под капотом" код плагина по сути не менялся, а для поддержки следующих версий Joomla авторы вставляют "заплатки". Плагин всё ещё использует старую архитектуру файлов и классов Joomla, что, к сожалению, заставляет прибавлять к его описанию слова "пока ещё" - "пока ещё работает".Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 За ссылку спасибо самому внимательному участнику нашего сообщества - Ринату Кажетову (@rkazhet).@joomlafeed#joomla #расширения

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

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

  • Глобальный модератор
  • 7284
  • 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
Просмотров: 4046
Последний ответ 29.08.2023, 19:26:50
от Bobbi86
Изменить размер видео на сайте

Автор MultiMatrix83

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

Автор ruppert

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

Автор MultiMatrix83

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

Автор pharaoh

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