
Привет! Не подумай, что украинские метеорологи проплатили мне этот пост и я бегом начал писать про их расчудесный сайт. Все было совсем не так 8)
Я ходил по зарубежным сайтам об AJAX и CSS и случайно нашел пост про то, как изменить дизайн сайта в зависимости от погоды. Меня это впечатлило, но юзать API от Yahoo довольно напряжно: надо искать свой почтовый индекс, да и информации там не шибко много в XML-ке.
Решил я поискать погодные веб-сервисы в СНГ и начал, естественно, с Яндекс.Погоды, но там веб-сервиса как такового я не нашел: одни информеры, из которых XML не вытащить. В итоге я открыл для себя украинский погодный сайт, на котором есть все, что нужно.
Для того, чтобы ты мог изменять дизайн сайта в зависимости от погоды, надо скачать документ с форматами XML и прочими полезностями, среди которых: дамп таблиц стран, городов и проногозов погоды; парсеры всего вышеуказанного на PHP и симпатишные иконки.
Для того, чтобы найти город, по которому ты хочешь искать погоду, есть два способа:
— скачать по инструкции из дока всю базу стран и городов к себе;
— скачать XML со всеми странами, найти нужную страну и скачать XML с ее городами (пример для России).
Затем по полученному ID города можно запрашивать погоду: пример для Москвы. А уж потом парсить эту XML своими силами или приложенным парсером от производителя.
Наиболее интересные поля на первый взгляд: t (температура), h (влажность) и cloud (облачность). На их основе ты можешь построить любую логику для вывода нужного дизайна.
Я немного изменил алгоритм из CSS-tricks, ибо считаю, что лучше иметь несколько разных css для каждой погоды, чем менять id или class у тегов XHTML.
Сперва необходимо написать php-функцию, которая будет парсить XML с погодой и выдергивать из нее нужные параметры. Тут помогут функции file_get_contents или curl_exec, а также всевозможные функции для парсинга XML или просто строки. На выходе функция должна выдавать в echo строку, например, «cloud» или «sunny».
В теге head своего сайта необходимо будет прописать дополнительную строку вида:
После чего останется самый последний шаг: сделать нужное количество маленьких CSS-файлов с названиями вида weather_sunny.css, weather_cloudy.css и.т.д. В этих файлах будут содержаться только те стили, которые нужны для придания сайту нужного «погодного» вида. Основные же стили должны оставаться в том CSS-файле, который ты использовал раньше.
Фантазируй! Можно сделать сайт, где, в зависимости от погоды в твоем городе, будут выдаваться соответствующие фотографии в шапке. Можно написать модуль для какой-нибудь социалки, в котором стиль личной странички или блога каждого юзера будет определяться погодой в его городе. В общем, применений можно найти массу.
О, Гугл, верни, пожалуйста, русский сниппет для маршрутного поисковика по Москве.
Вах!! Мощная идея! Только вот не пойму на сайте она уже работает? или еще нет…
Идея офигительная! Не для моего блога, но все равно офигительная! Снимаю шляпу… ;)
На моем сайте она не работает 8) Пока нет времени опробовать.
За шляпу спасибо ))
Прелестно =)
У меня есть идея, менять логотип в зависимости от раздела, в котором посетитель сайта находится. Уже и логотипчики разные заготовлены…
Я поздравляю вас с 1 апреля. Почему именно вас - можно узнать в моём блоге.
а на моем сайте atolldesign.ru внешний вид меняется в зависимости от времени суток :)
классно))
Прикольно однако получается))) Я много видел шаблонов которые меняются со временем суток))
О! Отличная идея! Как-то раньше не приходило в голову, надо попробовать :)
Не факт, что у пользователя погода (да и время суток) будет совпадать с вашим :) Т.е. по хорошему, для правильного изменения дизайна нужно выяснять, где находится каджый конкретный юзер - например, на основании пользовательского профиля или IP.
Задумка хорошая, но как сказал motus, нужно будет определять какая погода у посетителя, а реализация этого сильно тормознет скорость работы сайта.
неплохая идея, а вот за 0 градусов на сайте - незачёт ;)
Очень полезная статья, сасибо :)
поисковички же любят меняющийся контент?))) посмотрим, что с дизайном :Ы))
Инга - совершенно не понимаю, как определение погоды может тормозить работу сайта. единственная проблема, которую вижу я - достоверное определение местонахождения пользователя. если у юзера есть какой-никакой профиль, можно пользоваться им; если нет - прийдется угадывать по IP или по чему-нибудь еще
Логичным развитием идеи было бы, если дизайн менялся в зависимости от города, к которому приписан ip пользователя. Но для этого надо искать отдельно базу в которой приведены соответствия ip пользователя и его города. Вообщем проблем много :)
А чем лучше? Класс также мржно выводить функцией, а вот подключение и загрузка дополнительного css, это лишние байты. Мелочь конечно же, но на мелочах обычно и строиться все.
А не посчитает смену дизайна отрицательным фактором поисковая система?
Скорее, наоборот :)
кто нибудь, уже это сделал, дайте посмотреть, что получилось
Максим Покровский: хинт, хинт: отдельно стоящий .css файл прекрасно кешируется в любом нормальном браузере.
Идея, конечно, оригинальна. Можно пойти дальше и предложить посетителю в момент его входа на сайт выбрать, в зависимости от его текущего настроения, какие тона в отображении сайта он хотел бы видеть.
Спасибо, воспользуюсь Вашей наработкой. ПС, наверное все равно, а посетителю, наверное, должно понравится.
Поисковикам на дизайн по барабану. А вот посетителю может понравиться. Хотя может и нет. Многие любят постоянство. Короче, надо экспериментировать однозначно, идея в принципе интересная и свежая.
а мне вот нравиться динамика. А не получается… Не идет на моем болге… Почему?
Прикольная фича, надо себе на сайт такую же приделать, а всё-таки этот сервис тебе проплатился))))
Астраханец, а что конретно не выходит? С кодом что-то?
идея просто супер, а где можно поглядеть на реализацию метода?
Интересная идея. У меня таким образом персональная страничка на гугле сделана — гугл дает возможность сделать свой дизайн, есть варианты, которые меняются в зависимости от времени суток. Но свой блог оформленный таким образом — это еще интереснее.
Здорово, но такой вариант файрвол или прочие блокировщики рекламы режут, я видела похожее, так что думаю не стоит реализовывать.
Идейка очень хорошая. Даже можно сказать оригинальная. Это каждый раз заходишь на сайт, а дизайн меняется.
у нас в свое время на городском портале шапка сайта менялась в зависемости от времени суток. Тоже было ничего, но потом вернулись к штатной статичной шапке.
Главное препятствие человека на пути к достижению целей - сам человек. Вот как)
Интересная идея. Правда довольно трудоемко. Хочется попробовать.
Когда-то возникла подобная идея, но до конца так и не довел. Ограничился сменой дизайна по времени суток. Надо сказать, затея достаточно трудоемкая, хотя и интересная…
Ничего себе! Неплохая идея, и мне очень нравится. Респект автору, это же надо так додуматься - менять дизайн сайта в зависимости от погоды.
я на почте от Google выбрал этот вариант оформления ящика, теперь когда почту смотришь, на экране как за окном, и дождь и снег….
К сожалению, это нужно только дизайнерам :). Юзеру надо : нужный контент, удобное юзабилити, скорость загрузки и ненавязчивость дизайна. То есть не бил по глазам и не раздражал.