Четверг, 01 января 2015 23:43

jWeather by ip. Погода по ip для Joomla!

Оцените материал
(10 голосов)

Возможно, любителей и профессионалов Joomla заинтересует краткая аннотация очередного релиза jWeather by ip: Joomla-модуль, предоставляющий веб-администратору сайта гибкие возможности управления показом текущего состояния погоды, актуальной для геотаргетинга посетителя сайта.

 

Download jWeather_by_ip (World Weather Online + OpenWeatherMap + Visual Crossing + Open-Meteo + MeteoSource + IPGeolocation + geoPlugin)

Technical requirements: PHP 7 or PHP 8, Joomla 4.x & 5.x.

v.2.4.1 February 28, 2024 md5sum acf957639cf784a50fd432a6792f450c

 

Download jWeather_by_ip (World Weather Online + OpenWeatherMap + Dark Sky + Sypex Geo + IPGeolocation + geoPlugin)

Technical requirements: PHP 7, Joomla 3.

v.1.22 October 20, 2022 md5sum 136986cb210e22a8239ba8a70acfa006

 

Собственно, получился виджет, при создании кода которого я старался руководствоваться соответствием парадигме MVC Joomla (возможно, не все в курсе, но по доке Joomla - это MVC-фреймворк) и общепринятому в среде разработки code style. В итоге (хотя про итог рано, модуль находится в перманентном развитии) получилось вполне себе симпатичное поделие в духе (надеюсь) идеологии Joomla.

 

Актуальная на данный момент версия модуля поддерживает интеграцию с пятью погодными станциями: WorldWeatherOnline, OpenWeatherMap, Visual Crossing, Open-Meteo, MeteoSource и двумя сервисами определения геотаргетинга: IPGeolocation и geoPlugin. Ранее был еще и американский Weather Underground, но публичный доступ к его API, к сожалению, некоторое время назад был закрыт.

Attention. Support for the Dark Sky API will be ending on March 31st, 2023. Dark Sky is no longer accepting new members..

 

С самого начала про условия доступа к API weather stations:

  1. WWO предоставляет бесплатный триал на 30 дней.
  2. У OpenWeatherMap один из самых щедрых, вероятно, API: до 60 запросов в минуту бесплатно. Думаю, для начала неплохо? Про качество погодных данных OpenWeatherMap написано немало, если будет интерес - без проблем сможете составить собственное мнение. Имхо, скажем так, на крепкую троечку.
  3. Visual Crossing: 1000 records/day Free. Изображения погодных условий уже находятся в директории модуля.
  4. MeteoSource: 400 free calls per day. Модуль также содержит симпатичный набор иконок этой погодной станции.
  5. Open-Meteo не требует даже регистрации, потому и включен по умолчанию. Пробуйте.

 

Начиная с v.1.17, jWeatherByIP поддерживает MARINE, SAILING AND SURFING WEATHER API WorldWeatherOnline, который не рекомендую использовать в связке с определением местоположения посетителя сайта по ip: как видите, в топе статьи модуль показывает статичный таргетинг, а в сайдбаре - погоду по ip. Будьте внимательны: когда в настройках выбран этот API, модуль возвращает среднесуточные (day average) показатели погодных кондиций. Если необходимо отображение более актуальных характеристик погоды, имеющей свойство быстро меняться - используйте LOCAL WEATHER API WorldWeatherOnline либо иную погодную станцию.

 

В качестве альтернативы SypexGeo в модуль добавлена поддержка IP Geolocation API и geoPlugin API (до двух бесплатных запросов в секунду!), два популярных сервиса геолокации. Чуть ранее использовался еще и американский MaxMind, но вследствие некоторых технических проблем пришлось от него отказаться; надеюсь, это временно. В любом случае, геолокация в современном интернете не проблема... в панели администрирования jWeather вам всего лишь понадобится ввести полученный на страничке того или иного сервиса бесплатный ключ доступа, после чего сохранить настройки, опубликовав модуль на любых страничках сайта.

 

Актуальная версия модуля позволяет не использовать геотаргетинг, привязав отображение погодных кондиций к географическим координатам. Во всех других случаях - пожалуйста, не забывайте, кэширование страниц способно свести на нет определение местонахождения посетителя вашего сайта. Например, кэш для этой страницы сайта отключен; либо же вы можете поэкспериментировать с т.н. "прогрессивным кэшем" Joomla.

 

Админка модуля позволяет сконфигурировать довольно многое: от стилей шрифтов до выбора ряда отображаемых погодных характеристик, плюс время восхода/заката луны/солнца (это только в контексте WorldWeatherOnline и Visual Crossing. Сконфигурировав часовой пояс сайта - System Dashboard -> Global Configuration -> Server -> Location - вы добьетесь корректного отображения времени восхода и заката). Последние реализованные фичи модуля - возможность, при желании, отображать погоду на картах Google и Yandex: сама карта при этом, естественно, центрируется географическими координатами пользователя сайта. Т.е. в итоге получилось что-то вроде реинкарнации погодного слоя Google Map, deprecated несколько лет назад. Язык карты соответствует выбранному в панели управления Joomla языку сайта: русский или английский, то же самое и относительно отображаемой модулем погодной информации. В довершение вкусностей возможно включение js, выводящего произвольное приветствие в зависимости от локального времени посетителя.

И это еще не все...

 

Увидеть на гитхабе.

 

Модуль можно отревьюить, при желании, в Joomla Extension Directory, глянуть код - на гитхабе. Пара демок размещены на этой страничке, также имеет место быть ряд ссылок в левом сайдбаре ("модуль jWeatherByIP. Примеры виджетов в блоге"). И, разумеется, это open source, модуль распространяется на условиях GNU/GPL license, что означает, если уж совсем по-простому - свободен и бесплатен.

Последнее изменениеСреда, 28 февраля 2024 21:56

12 комментарии

  • Комментировать KP Воскресенье, 27 марта 2022 09:36 написал KP

    Wow Aleksej, I'm really impressed by your help and skills.

    Thank you! Wish you all the best in work & personal life.

  • Комментировать Aleksej Воскресенье, 27 марта 2022 05:03 написал Aleksej

    Done. Added Sunrise and Sunset options for OpenWeatherMap. You can update the module.
    I recommend to configure Website Time Zone: System Dashboard -> Global Configuration -> Server -> Location. The sunrise and sunset times will automatically adjust to your site's Website Time Zone.

  • Комментировать KP Четверг, 24 марта 2022 09:29 написал KP

    Thank you, I very much appreciate your fast work! The module works very well on Joomla 4.

    Is there any chance to add Sunrise and Sunset times as well?

    Thanks.

  • Комментировать Aleksej Суббота, 19 марта 2022 18:06 написал Aleksej

    The new version of jWeatherByIP for Joomla 4 is available for download. The module has been tested with PHP 7.4 and PHP 8.0. If you find any problems - let me know about it, thanks.

  • Комментировать KP Среда, 16 марта 2022 07:25 написал KP

    That's great news, thank you!

  • Комментировать Aleksej Среда, 16 марта 2022 05:24 написал Aleksej

    Hi. No, in Joomla 4 the old version of this module does not work. But I plan to publish an update of the module in the near future. Thank you for your consideration.

  • Комментировать KP Вторник, 15 марта 2022 07:42 написал KP

    Hi there,

    Its a really great module. Do you know if its working also on Joomla 4?

    Thank you.

  • Комментировать Aleksej Среда, 05 февраля 2020 14:27 написал Aleksej

    Релиз 1.19 от 2020-02-04 содержит новую фичу: теперь настройки модуля позволяют отказаться от определения геотаргетинга и получения погоды, определив произвольный контент (HTML или текст) информационного окна метки на карте Яндекс или Google.

  • Комментировать Aleksej Вторник, 23 апреля 2019 14:03 написал Aleksej

    Модуль полностью переписан заново, Maxmind на данный момент удален, добавлена поддержка IPGeolocation, значительные изменения претерпел пользовательский интерфейс модуля. Добавлена возможность отображения состояния погоды на Google Map.

  • Комментировать Aleksej Понедельник, 30 января 2017 23:18 написал Aleksej

    Добавлена поддержка MaxMind GeoLite2-City.mmdb.

Оставить комментарий

Добавьте ваш комментарий

Temperature, °C5.7
Wind speed 22.3
Cloudcover 35.4
Description weatherPartially cloudy
Solar power (W/m2)232.8
Indicates the total energy from the sun (MJ/m2)20.1
Moon phase0.31
Level (0 - 10) of UV exposure7
Probability (%) of adverse weather conditions10
Dew point temperature (°C)-6.5
What a temperature feels like (°C)2.6
Types of precipitation

Tic-Tac-Toe with a Neural Network