Новости Joomla

Перевод и публикация интервью с Joomla евангелистом на греческом портале Joomla

Перевод и публикация интервью на греческом портале Joomla 🇬🇷

Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉

Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции. Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉

До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊

Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью.

Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент.

🌐 Оригинальное интервью (на английском)
🇬🇷 Интервью на греческом портале (joomla.gr)

Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

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

rsn

  • Давно я тут
  • 520
  • 34 / 3
Бесплатный плагин Joomla 3 для определения геоданных посетителей сайта по IP адресам.

Определение геоданных основано на Sypex Geo.
Определяет страну, регион, город, географическую широту/долготу (центра выявленного города).




Особенности
Установочный архив с плагином сам по себе не включает базу Sypex Geo. За счёт этого весит мало, устанавливается быстро.
При включении плагина, в админ-панели, предложит скачать актуальную базу Sypex для дальнейшей работы.
Далее с установленной периодичностью будет предлагать актуализировать базу (скачать обновлённую) - прямо в системном сообщении, в любом разделе админки, не только в настройках плагина. Там же (в системном сообщении) и кнопка для быстрого обновления - минимум усилий  ^-^
Плагин на ранней стадии загрузки Joomla определяет геоданные посетителя с записывает их в константы, которые далее доступны в любом PHP скрипте (хоть в компонентах, хоть в модулях, хоть в плагинах, хоть в шаблоне). Кроме того, есть возможность на выходе HTML заменить в текстах названия констант их значениями.
Например, если в заголовке модуля написать "Город GEODATA_CITY_NAME_RU" на странице этот заголовок модуля будет выглядеть: "Город Москва", "Город Челябинск" и так далее.

Что касается нагрузки
Само по себе решение SypexGeo - довольно хорошее, но всё же для сайтов с большой посещаемостью определять геоданные (анализируя базу Sypex) для каждой загрузки страниц каждым посетителем - это вполне ощутимая по ресурсоёмкости задача.
Поэтому предпринята такая схема для оптимизации:
Анализируем базу через Sypex только в том случае, если не нашли данных для этого посетителя в его сессии или не нашли данных для его IP в базе данных.
То есть сначала плагин пробует брать геоданные из сессии. Таким образом, если это уже знакомый посетитель (с сессией), то вообще никаких дополнительных телодвижений не делается.
Если в сессии нет геоданных - пробует найти геоданные для IP посетителя в БД. Если они там есть (например, это бот или краулер), то на этом и финиш, данные получены. Один запрос.
Если же нет ни в сессии, ни в БД, тогда подключаем класс SypexGeo и получаем геоданные (записываем в сессию и БД).
Всё это очень эффективно минимизирует нагрузку.

Плагин выпущен изначально, кажется, летом-осенью 2020 года.
Используется ежедневно мной на довольно посещаемом ресурсе. Всё стабильно.
С ноября 2020 года плагин выложен общественности - бесплатно. Есть скачивания, жалоб пока нет  ^-^

Официальный сайт: https://iresurs.com/ru/joomla/ir-geodata

Приглашаю затестить  ;)
В случае чего - пишите.
« Последнее редактирование: 17.03.2021, 20:19:14 от rsn »
Возможно, будет интересно: Интеграция с Ozon
*

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Как можно данный плагин привязать к профилю пользователя?
Интересует отображение информации в админке.
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Как можно данный плагин привязать к профилю пользователя?
Интересует отображение информации в админке.
Не понял, что имеете в виду.

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

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Хотите видеть, откуда посетители?
Именно. Используя нужные константы отображать инфу о пользователях.
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Задача решаема, но только константы не помогут отображать...
Они ведь в памяти только при формировании страницы.
А в Вашем случае это надо зафиксировать в памяти.

Сделать можно примерно так:
Создать в БД отдельную таблицу для хранения связок: user_id - сессия - город.
PHP-cкрипт (либо в другом плагине, либо в шаблоне) для пользователей проверяет, есть ли соответствующая запись в этой таблице для этого пользователя и этой сессии. Если нет - записывает.
Потом в админке (можно даже просто правкой шаблона админки) выводить рядом с пользователями столбец, в котором,
к примеру, - наиболее часто повторяющийся город из последних 20 записей для этого пользователя.

Нужно программирование, да.
Возможно, будет интересно: Интеграция с Ozon
*

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Используется ежедневно мной на довольно посещаемом ресурсе.
Хотелось узнать о практическом применении.
Т.е. понятно, что можно эти данные вывести для пользователя (Привет, мы определили что Вы из Москвы по таким то координатам), но зачем?
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
но зачем?
Например: когда сайт мультирегиональный с поддоменами - отправить посетителя на нужную версию сайта, для его региона.
Или: в интеграции со службой доставки - посчитать условия доставки.
Погода в его городе. Местное время. Ближайший к его городу наш магазин.
И так далее. Да много вариантов.
Возможно, будет интересно: Интеграция с Ozon
*

stepan39

  • Захожу иногда
  • 499
  • 28 / 0
Например: когда сайт мультирегиональный с поддоменами - отправить посетителя на нужную версию сайта, для его региона.
Или: в интеграции со службой доставки - посчитать условия доставки.
Погода в его городе. Местное время. Ближайший к его городу наш магазин.
И так далее. Да много вариантов.
т.е. в любом случае кодить, обрабатывая данные полученные с помощью плагина. Верно?
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Для обозначенных выше целей - да.
Можно сказать, что плагин вспомогательный. Определить локацию - чтобы что-то сделать далее.

Многим пригождается. Вот несколько похожих тем:
Местоположение пользователя
Определение города пользователя по IP
Модуль определения города посетителя
« Последнее редактирование: 18.03.2021, 08:29:53 от rsn »
Возможно, будет интересно: Интеграция с Ozon
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Без обид, но это уже устарело.
Лучше использовать сторонний сервис  , не создавая нагрузку на сайт .
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Лучше использовать сторонний сервис  , не создавая нагрузку на сайт .

Думаю, это зависит от цели использования.
Если цель - редиректнуть на более подходящий региональный поддомен (редиректнуть так, чтобы посетитель не заметил),
то сторонний сервис - серьёзное увеличение времени отдачи HTML. Ухудшение быстродействия - ухудшение seo факторов.

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

sivers

  • Живу я здесь
  • 2596
  • 360 / 0
Если цель - редиректнуть на более подходящий региональный поддомен (редиректнуть так, чтобы посетитель не заметил),
то сторонний сервис - серьёзное увеличение времени отдачи HTML. Ухудшение быстродействия - ухудшение seo факторов.
Пользовался этой штукой. Слишком много ошибок она дает. У провайдеров (типа Билайна) пул динамических ip-адресов собран со всех регионов и выдают они их рандомно, не заморачиваясь привязками к региону. В итоге все равно надо пилить подтверждение и выбиралку города юзером с сохранением в куку или еще куда-нибудь. В итоге теряется смысл с определения города по IP.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
У провайдеров (типа Билайна) пул динамических ip-адресов собран со всех регионов и выдают они их рандомно, не заморачиваясь привязками к региону. В итоге все равно надо пилить подтверждение и выбиралку города юзером с сохранением в куку или еще куда-нибудь. В итоге теряется смысл с определения города по IP.
Да, @sivers, именно так! Определяю город (для редиректа) - именно если нет куки (новый посетитель). Если уже есть (он уже сменил город, в этот момент записали куку), то редирект не делаем.
Возможно, будет интересно: Интеграция с Ozon
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

SM FAQ - компонент Вопрос-Ответ для Joomla 2.5+

Автор SmokerMan

Ответов: 682
Просмотров: 156393
Последний ответ 11.10.2025, 12:43:44
от wishlight
SW JProjects - Менеджер цифровых проектов для Joomla! CMS™

Автор Septdir

Ответов: 60
Просмотров: 18234
Последний ответ 13.09.2025, 19:12:05
от sergeytolkachyov
JSLazyLoading — плагин для отложенной (ленивой) загрузки и мультивывода изображений

Автор Филипп Сорокин

Ответов: 36
Просмотров: 19564
Последний ответ 10.08.2025, 13:17:43
от kaaaaaljan
WT Telegram bot - отправка данных из Joomla в Telegram-бота

Автор sergeytolkachyov

Ответов: 4
Просмотров: 3467
Последний ответ 01.08.2025, 09:26:57
от sergeytolkachyov
Модуль вывода новостей. Joomla 3.x

Автор fbr

Ответов: 54
Просмотров: 29351
Последний ответ 22.07.2025, 10:13:22
от fbr