Переделал первую версию модуля для отображения погоды.
Теперь счастье, сделанное на заказ для сайта Славянска-на-Кубани выглядит так: сервис "Погода в Славянске-на-Кубани"
Что делает?
- Создает страницу с алиасом /weather_forecast (можно изменить, если вы используете модуль Path)
- При обращении к этой странице зарашивает прогноз погоды в виде xml-файла с сервера rp5.ru, разбирает его и отображает
Настроек пока нет, только правка кода ручками (ничего сложного) ID своего населенного пункта можно найти на сайте rp5.ru.
Все по-прежнему работает в черновом варианте. Отличие состоит в следующем:
1) теперь погода выдирается не из rss, а из xml-файла
2) нарисовал пачку картинок для придания гламурности
3) перерихтовал оформление. вроде теперь лучше, правда, ни хрена в дизайн не вписывается, но это дело наживное
Версия 2.1 от камрада Strelok
Дорогой друг Strelok основательно усовершенствовал модуль и выпустил собственную версию 2.1.
Демо
Скачать 2.1
Вложение | Размер |
---|---|
ruweather2.zip | 25.26 КБ |
Комментарии
а где собственно модуль то?
Отлично )
Скажи плиз, а кол-во дней показа можно настраивать?
А только текущий день отображать?
вообще менять дизайн реально будет?
Ой Модулем завтра поделюсь.
Количество дней ограничено - только 2 суток вперед. Сделать так, чтобы отображался только текущий - можно.
Внимание!
Модуль не очень корректно определяет картинку для отображения облачности. Либо переделывайте сами, либо дождитесь пока я снизойду. В идеале следует сделать раздльный картинки для разных погодных явлений и накладывать их друг на друга в разных сочетаниях.
Хочу предложить исправленную и дополненную мною версию модуля.
upd. 09.10.08 Ссылка приказала долго жить, смотрите новую версию ниже в этой теме.
Список изменений:
У меня на сайте он выглядит так.
Ништяк.
Вот с абракадаброй вопрос - она тольько недавно появилась, причем я ничего не менял. Наверное, рп5 че-то перемутил.
Завтра поставлю себе вашу версию
Абракадабра появлялась изза некорректного вычитания дат. У вас дата преобразовывалась в число и затем эти числа вычитались. Что-то такое:
2 апреля 2008 года = 20080402
4 апреля 2008 года = 20080404
затем 20080404 - 20080402 = 2, а это уже послезавтра
но, вот ведь незадача:), начался месяц май:
30 апреля 2008 года = 20080501
1 мая 2008 года = 20080501
затем 20080501 - 20080501 = 71, а это уже... чертичто:)
Я применил вместо вышеуказанного способа функцию date, которая вычисляет порядковый номер дня с начала года, а затем эти номера вычитаются. Кроме того я добавил корректировочку на 31 декабря - 1 января, чтобы в конце года снова абракадабра не вылезла.
Чего то у меня ничего не показывает?
У меня тоже
Может формат файла сменили
Сервер апгрейдили, неделю назад
Все, обратно пашет
а как насчет модуля под 6.4?
спасибо, полезно
мечтая.. а вот бы еще населенный пункт пользователя определялся автоматически...
Обновленного архива нету, 404
Все на месте: http://drupal.ru/files/ruweather2.zip
Я про версию Стрелка
В посте модуль от Стрелка.
Ничего не понимаю. Тот файл, ссылку на который вы даете, я скачивал еще давным давно. (8732 байта размер файла модуля). В архиве 10 иконок. У модуля косяк с выводом абракадабры вроде: "завтра днем ночью днем ночью", вместо "завтра днем" в конце месяца.
Меня же интересует модуль Стрелка, где 36 иконок и исправлена абракадабра. Вот...
В преддверии нового погодного сезона (у нас на Урале снега долго ждать не придется), я произвел некоторую доработку модуля погоды. Новая версия включает следующие изменения:
1) Перерисованы все иконки + добавлены новые. Теперь они отображают снег и снег с дождём, из-за чего общее количество иконок теперь составляет 88 штук, вместо 36 в старой версии.
2) Вывод списка прогноза переверстан в 2 колонки. Дизайн по прежнему требует доработки напильником под вашу тему.
3) Изменился принцип определения сегодня-завтра для ночи. Теперь сегодняшней ночью считается ночь, которая фактически является завтрашней. Сделано это по просьбе пользователей, ибо на обывательском уровне чаще всего сегодняшней ночью называют ночь грядущую, а не прошедшую.
Скачать новую версию модуля ruweather можно здесь
Посмотреть модуль в работе можно здесь
PS К сожалению, модуль все еще не имеет настроек в админке, все изменения вносятся, как и раньше, ручками. Надеюсь, в ближайшем будущем, у меня найдется время (и желание:)) доработать его до полностью юзабельного состояния.
Спасибо!
Правда, в фаерфоксе 3 при отображается кривовато .
По ошибке залил недоработанную версию 2-1 (в ней слетают колонки в вечернее время), заменил на исправленную 2-2. Ищите ее в моем предыдущем сообщении.
Рекомендую всем кто скачал версию ruweather2-1 заменить на ruweather2-2.
Что там в 3 фаерфоксе случилось посмотрю завтра. Тестировал только на IE6, Opera 9.5, Firefox 2.0.
Поставил потестил, понравилось! Осталось только прикрутить, чтобы погода обновлялась по крону, а то сейчас получается, что при каждом заходе на страницу, хмл-файл скачивается заново.
Зато прогноз всегда акутален
Ну да, но на главную такое не выведешь, ибо будет задержка при загрузке. Помню, в первой версии (гисметео), там был код с кроном, надо ее мне посмотреть и скрестить (лень самому hook_cron почитать). Если сделаю, выложу сюда.
Как и обещал, выкладываю сюда доработанный мною модуль.
Что нового в версии 2.3?
* Погода теперь добывается по крону.
* Сделана страница админа для настроек: номер города, заголовок для страницы с погодой - /admin/settings/ruweather. Т.е. теперь не надо в файле модуля копаться и менять циферки и заголовок страницы. Без настроек погода добываться не будет и в watchdog будет сообщать об ошибке.
### В планах - блок с краткой погодой (сейчас и прогноз) со ссылкой на страницу погоды.
Спасибо, что работаете в этом направлении. Предлагаю перед разработкой блока с краткой информацией разработать его дизайнерскую концепцию, чтобы было красиво и удобно. Какой-нибудь симпатишный виджет...
Пожалуйста
Не возражаю, разрабатывайте
Кто-нибудь ставил у себя, тестировал?
Наши ряды расширяются! Очень рад воплощению моих планов без моего участия
Поставил, изучаю. Пока есть пара замечаний:
1) В папке icons осталось несколько рудиментарных иконок, которые данная версия модуля не использует. Они все имеют числовое название (00.png, 00_oblaka.png, 01.png и т.п.). Надо бы их удалить из вашей версии.
2) Название в админке "Настройки погоды" выглядин несколько глобально:)). Вот сейчас например, в логах вывелось сообщение "Погода обновлена", а за окном как шел дождь, так и идет
А в остальном все отлично, все работает.
Ок, с иконками и текстами разберемся. "Погода обновлена" значит, что она была скачана с rp5.ru, но она могла там остаться еще старой.
Обнаружил недочет: на странице погоды он пишет "сегодня днем", "Завтра..." итд. Но эти слово высчитываются исходя из времени на сервере! И если раньше у меня время на сервере стояло местное (gmt+8), то сейчас время на сервере стоит канадское, перехал я, gmt-7. И значит теперь у меня прогнозы такие:
Завтра днём:
Завтра ночью:
Послезавтра днём:
Послезавтра ночью:
Надо как-то это под друпальское время перевести, или еще одну настройку для админа сделать, типа offset задавать.
Вы видимо не обратили внимание на смайлики в пункте, касающемся сообщений "Погода обновлена" и т.п. Замечание было не совсем серьезным и касалось в первую очередь терминологии. Например, как вы думаете, между заголовками "Настройки прогноза погоды" и "Настройки погоды" есть принципиальная разница?
Блин, как все просто было
Предлагаю набор погодных мини-информеров для ориентации в пространстве. Может склонимся к какому-то варианту?
Помимо прочего, предлагаю избавиться от фона на картинках
Strelok, я на всякий случай уточнял В версии 2.4 над строками поработаем
Химический Али, мне нравится №1, минималистично, много воздуха, никаких лишних слов.
Что-то я не в восторге от вашего сурового минимализма, поэтому буду настаивать на своем варианте.:)
Так-с... оба варианта в принципе легко реализуются через цсс. Значит, блок можно будет сделать унифицированным, а дальше уже темизируйте сами как надо, правильно?
Вот соломоново решение!
Только вот мой вариант базируется на готовых иконках(осталось только бэкграунд доделать), а ваш... ну если хотите - можете еще пару комплектов нарисовать.;)
Я против бэкграундов у иконок, ибо чужие беки с трудом вписываются в другой дизайн. К тому же, оранжевое на синем выглядит грязно.
фон опять же можно задавать через цсс:
div style="background:url . $weather_picture
так что это будет оставать целиком на совести дизайнера
Крайне сложно сделать картинку, которая бы хорошо смотрелась с любым бэкграундом.
А насчет оранжевого полностью согласен.
странно, включил, а его нигде не видно, открыл страницу.... и там пусто
что-то не то или не там
можно для нескольких городов прикрутить такой вариант, чтобы города-погода или определялись людьми или IP базой
вот первый вариант http://valera.ws/2008.03.31~ya-weather/
На странице weather будет пусто до первого обновления крона.
В блоке тоже будет пусто.
а может здесь добавим несколько окошек? на несколько городов?
т.е. в настройках, можно будет делать несколько кодов и городов. а на самом модуле, при отрытии нужный город будет нажиматься и смотреться?
мне нужна погода на несколько городов!
+
картинки тут http://domen.ru/sites/all/modules/ruweather2/icons/night-overcast-light-...
а надо тут http://domen.ru/modules/ruweather2/icons/night-overcast-light-sr.png
или изначально не туда кладем?
не уверен, что правильно понял вопрос, но
картинки размещаются согласно первому указанному пути, т.к. все сторонние модули устанавливаются в папку /sites/all/modules/
Можно, но с переделкой.
какие новости?
есть "новая" погода с автоматическим разделением погоды по IP
где?
респект автору модуля
то что и надо .
но.. слил архив, закачал в папку..
включил модуль...
и...
как дальше настраивать?
в "Настройках" - ничего не появилось.
в "Блоках" - тоже...
может я чего не то сделал ?))
P.s. интересно его потом "напильником" обработать
Раз любите напильники, то легко найдете в коде модуля нужные настройки (там id города с сайта рп5.ру вставить надо).
да не
я уже разобрался...
только вот есть пару вопросов.
1. есть ли реализация вывода в блок? =)))
2. Не могу понять какой код у Харькова (Украина)?? (Кажется я сошел с ума =))ыы
Впрочем могу дописать в админку выбор скинов.. Если нет вывода в блок - это могу написать тоже с собственным набором стилей и прочей фигни... просто не колупал еще код модуля =)))
у меня сейчас версия 2.3
P.s. Спасибо
ну, вывода в блок нема...
ча дописал...
там выводит на 4 дня сразу..
значит надо дописать вывод с выбором на сколько дней
+ я сделаю все же наверно еще выбор по стилистическим особенностям.. - ну там на выбор 2-6 наборов стилей и еще какую ниудь фигню, типа показать/скрыть блок... хотя надо ли...
в общем на днях выложу переработанный.
это.. а там отдельно парсер не подбросишь? на p1zz@ukr.net , ну тот который по курлу вытягивает данные хотя я могу и сам его перерыть.
да, написанно прикольно. то что и надо было
ыыы. читаю комменты, что год назад писал.. эх...
ооо. а может добавить сразу выбор для юзверей по страна/код города через выпадающие селекты... можно еще впендюрить вывод с гуглмапины город на миникарте в блок.. давно хотел акое сделать..
вот он, мой поток сознания весна...
лан, сделаю - выложу. че уж...думаю разгребу...
Спасибо за модуль. Пошел доставать напильник...
Хмм, странно, у меня блок есть.. или это я уже для себя допиливал??
вот у меня сайт.. на несколько городов...
на главной выдавал бы только на тот с которого сморю... (по IP) и с кнопкой "погода других городов" и нажав "весь список" городов... на 3-4 дня...
очень надо!
да у всех сайт на несколько городов.
Только у демиургов модуля сайты на один город
эмпс...
есть одна запара. или просто я немного не понимаю сути.
я выбираю город, код которого 741. мне парсер возвращает данные по хз какому городу. Но не потому, который по сути нужен.
741 - это Харьков, Украина. Он есть в списке городов, откуда вытягиваются данные.
Но теспература - "-25" или "-20".
Может я что-то не так делаю?
Во поводу нескольких городов - дописал выборку для нескольких городов. То есть вбиваем несколько айди - по ним и вытягивает данные. Пока правда не занимался внешним видом.
Переписал функции более распределено - отдельно парсер, отдельно выводы и формирование внешнего вида.
Если можно - введите в курс дела - нужно сделать выборку в зависимости от IP клиента?
Тут есть загвоздка.. Дело в том, что надо будет дополнительно ваять выборку айди города для текущего айпишника и в реальном времени вытягивать данные.. нагрузочка еще та будет. Либо как вариант - делать в настройке профиля дополнительную опцию - погода - где пользователь будет сам выбирать город, и потом для него будет выводиться погода для его локализации. По сути геммор, так как прийдется в бд хранить не структруированные данные - массив с вытянутыми данными..
если я дето ошибаюсь - поправьте..
хотя... если есть уже эта реализация - реализация вывода погоды по IP клиента - то хотелось бы это увидеть
но вопрос с температурой остался открытый...
и еще вопрос. оффтоп. в запросе curl в модуле стоит индефикатор 9ой оперы.. а че так?
Тут есть загвоздка.. Дело в том, что надо будет дополнительно ваять выборку айди города для текущего айпишника и в реальном времени вытягивать данные.. нагрузочка еще та будет.
А как сделано в яндексе? там то ведь показывается автоматически для нужного города
Вообще, необязательно делать вообще для всех городов. Достаточно охватить большую часть.
То есть такой вариант предлагаю: Админ смотрит посещаемость по городам, и вбивает некое количество в модуль. А вот модуль таки должен определять по IP город. Пусть даже и нет у модуля погоды для этого города
Кстате.. тут мысль пришла...
давайте 1 раз когда в БЛОКЕ появится погода, будет надпись "выбери свой город!"
И потом он запомнит именно этот комп с его IP и в слудщий раз будет выдавать именно на этот город!
Если надо будет сменить, просто жмут на подробности, выбирают другой город и другой запоминается!
И главное, что для всех компов и городов, будет своя погода!
А идеальный вариант, за счет запоминания IP компов и городов на них, можно было бы собрать свою базу для других, если бы они менялись с базой информацией!
Выстроилась бы база IP
вообще такая база существует. возможно она не у всех есть в наличии
хм... город по IP..
насколько я знаю у каждой региональной области есть свой идентификационный код.
я толком еще не разгребался в этой области. хз.. надо почитать что нибудь..
вообще пути такие
определить код города(или страны) по айпи клиента
по коду - тянуть погоду(с)
но сразу несколько моментов.
1. парсить выборку каждый раз в онлайне - это ппц. забанят.
2. делать кроном - тогда делать заранее крон на выборку по самым густонаселенным городам, а тех которых нет - заносить в базу и кроном потом делать парс. иди делать выборку сразу, при условии что такого id города в базе нет.
это я могу написать, но пока не доганяю как выхватить id города по айпишнику.
на яндехе, гугле, яху, рамблеге - это давно реализованно. и подобное когда-то писалось на одном проекте на работе.. но только вот исходников нема
как вариант думаю попробовать использовать localisation модуль.. или как там его.
если RP5.RU использует общие стандарты для определения георасположения, то это все решаемо.. а дальше - будем колупать совместными усилиями
ya://geoip
http://ip2city.ru/
Народ, я говорю не про те базы с IP, а что бы на основе погоды, мы выстроили свою!
прямо с 0!
вопрос зачем?
и это однозначно сложнее, чем использовать готовые данные
это то сложнее.
дело в том что внешние ресурсы - это хорошо...
но... вот дилема вчера была. я делаю вывод погоды для харькова - это украина. и с дот ру уже не хавается. с дот юа - на ура.
и уже ограничения и внос перемен в код.. а это геммор...
вот.
кому интересно.
добавит вывод в блок,
в админке там тоже потрогал...
да. основное. переименовал переменные на более читабельный инглиш
повыносил парсеры, формирование массивов, проверки, выводов в отдельные функции.. ибо не гламурно
по гео айпи начал ваять. но не вікладываю, ибо пока оно не работает...
не по теме.
нужна помощь.
нужно два модуля.
1. это календарь событий. Выводятся даты в виде ссылок,по которым идет сортировка по той дате, на которую клацнули и попали на страничку с выводом в духе views. Все что нашел в инете - все либо сырое, либо корявописанное. Собствено могу написать и свой модуль с выбором типов и т.д., но тупо нет времени ((((( Может кто что подкинет, а? Нужно одиним независимым модулем. Одним.
2. Побуквенная сортировка (фильтрация) для определенного типа нод. Тоже не могу найти решение. Как одно из - это типизация (таксономия). Но это геммор. Должно быть проще решение...
Написать тоже могу, но нет времени ((((
Вот. Если еще кому интересно. Может появится скоро модуль для парса сайтов. Но там регулярки надо знать хорошо.
дополненно.
Если кто шарит по http://ip2city.ru/ и подобным ресурсам, то нужна помощь - нужна функция по вытягиванию айди города по айпи клиента. Больше ничего не надо... Тупо нет времени.
Может распределить просто...
хелп хелм ме
короче
немного полазив по просторам, скачав на локальный апач модуль geoip и либу + базу geoip.dat получилось заюзать некоторые функции интересные... ыыы... дивные...
короче, страну удалось определить, по карйней мере дескриптор и название.. хоть и в инглише.
далее буду колупать..
есть идеи по городам?
в общем...
если ктото возьмется написать функцию сопоставления айпи и айди города по стандартизации, то я сделаю формирование бдхи + проверки + еще пару фич..
только вот терзают сомнения одни.
этот сайт погоды возможно использует собственную нумерацию регионов и городов. если так, то геоайпи и подобные сервисы в пролете. либо брать за основу тот сайт, который юзает стандарты... тут только с базой...
Эмм, сразу говорю, я пас.
да мне просто нефиг чем заняться
напарнег написал класс для парса сайтов через курлу...
ыыыы
по теме.
сейчас пишу определение айди города..
правда не знаю когда закончу..
но больше склоняюсь к мысли о том, что таки да, надо будет набивать базу, постепенно и уверенно, с апишниками, айди страны/города и т.д...
и потом тестить и тестить...
а никто не пробовал писать парсер под более глобальные данные по погоде?
есть модуль weather , но он какой-то слишком-слишком..
не то...
пысы. чувствую что то что надо - прийдется ваять самому ...
Господа хорошие, где этот же модуль взять для версии 6.10?
хз
могу сейчас выложить то что у меня есть
только там прийдется с настройками помучаться...
вообщет а разве там нет сабподдержи версий ? (я просто пишу под пятый)
по сути там стандартные функции определения переменных и парсер (спасибо за него)
почитай про определение версий. там просто поменять пару цифр в инфо файле и все..
П.с.
написал модуль на основе calendar_block под 5й друпалл
суть его следующая
выводит календарь на текущий месяц (переключение между месяцами на аяксе, и не кеширует, а как сделать с кешем - я пока что хз), на даты календаря идет привязка - то есть если на определенную дату есть размещенная статья, то там меняется картинка и появляется на месте числа дня ссылка на страницу, где сделан вывод всех нод на выбранную дату. дата передается линкой, есть просомтр всех за год/месяц. Есть проверки от инъекций, и на корректность дат.
просто меня загемароило ставить календарь и кучу модулей, в том числе и ССК (чето я его не оч взлюбил).. В общем вот. Там осталось только дописать админку (определять какие типы нод включать в календарь) и сделать пагинацию ( припросмотре за месяц или год выводит все в один список и дохрена выводит, а хочется использовать апи, а не писать ее самому. хотя могу и написать). В общем, на днях выложу сайт один, там это заюзанно.
По поводу определения айди города по айпи - пока приостановил.. много работы.
там идея будет не через геоайпи, а под свою базу, которая будет набиваться со временем... бо там половина сервисов платные... ы..
Друзья, а для 6.10 версии нет ни у кого модуля погоды?
Черт, я и забыл, что под шестерку не выкладывал ни разу этот модуль. У меня есть эта версия под шестерку, но блок с краткой погодой сделан конкретно под мой сайт (в профиле есть ссылка, блок на главной), если кому надо - могу выложить.
http://www.drupal.ru/node/28271
погода на неделю с рп5
Так может кто-нибудь все таки выложит версию под шестерку?
инфа устарела? а то модуля-то нет с аттаче
У меня таки дошли руки и до модуля погоды. Портировал его наконец на 6-ку.
В процессе портирования были внесены следующие изменения:
Скачать модуль RuWeather-6x-beta
Демо
Осталась одна проблема, с которой у меня пока не получилось справиться: при изменении заголовка страницы погоды в админке, заголовок не меняется, пока вручную не почистишь кэш меню (например с помощью модуля admin_menu). Функция cache_clear_all, которая использовалась для этого в 5 версии модуля не дает результатов.
Последние версии модуля находятся здесь.
тема походу умерла....есть ли модуль для друпала 7?