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

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

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

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

 

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

Technical requirements: PHP 7 or PHP 8, Joomla 4.

v.2.1.0 March 27, 2022 md5sum fda7f852f9f5f98dcf9e55759fbeecc8

 

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

Technical requirements: PHP 7, Joomla 3.

v.1.21 February 07, 2020 md5sum d683a3316a7b168d81d79d08d99c2a4b

 

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

 

На данный момент модуль поддерживает интеграцию с тремя погодными станциями: WorldWeatherOnline, OpenWeatherMap, Dark Sky. Ранее был еще и американский Weather Underground, но публичный доступ к его API, к сожалению, некоторое время назад был закрыт. Будьте внимательны, Dark Sky API работает только до конца 2022 года.

Attention. Support for the Dark Sky API service for existing customers will continue until the end of 2022. The iOS app and Dark Sky website will also be available until the end of 2022.

 

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

  1. WWO предоставляет бесплатный триал на 30 дней.
  2. У OpenWeatherMap один из самых щедрых, вероятно, API: до 60 запросов в минуту бесплатно. Думаю, для начала неплохо? Про качество погодных данных OpenWeatherMap написано немало, если будет интерес - без проблем сможете составить собственное мнение. Имхо, скажем так, на крепкую троечку.
  3. Dark Sky считается весьма неплохой погодной станцией: 1000 бесплатных запросов в день, конечно, не торт, но для блога сойдет. Интересная деталь: в отличие от двух других погодных станций, Dark Sky не предоставляет собственных изображений, иллюстрирующих состояние погоды, поэтому в модуль добавлены иконки, которые совсем несложно заменить на свои собственные, соответствующие индивидуальному дизайну сайта. Еще один плюс в пользу Dark Sky: по умолчанию модуль отображает единицы измерения погодных условий (Celsius, Fahrenheit, ряд других) исходя из географического месторасположения посетителя сайта.

 

Начиная с 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). Последние реализованные фичи модуля - возможность, при желании, отображать погоду на картах Google и Yandex: сама карта при этом, естественно, центрируется географическими координатами пользователя сайта. Т.е. в итоге получилось что-то вроде реинкарнации погодного слоя Google Map, deprecated несколько лет назад. Язык карты соответствует выбранному в панели управления Joomla языку сайта: русский или английский, то же самое и относительно отображаемой модулем погодной информации. В довершение вкусностей возможно включение js, выводящего произвольное приветствие в зависимости от локального времени посетителя.

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

 

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

 

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

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.

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

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

Температура (°C)61.72
Скорость ветра 12.03
Давление 1015.9
Влажность 0.75
Облачность 0.94
Видимость на дорогах 10
Общее состояние погодыPossible Drizzle

Donate

Сумма (руб)

Заказать сайт

Веб-разработка. Заказать сайт

Вы можете заказать сайт-визитку, блог, корпоративный сайт, интернет-магазин или коммерческий web-портал.