Добрый день, уважаемые инстантовцы!
Предоставляю вашему вниманию компонент POGODA v 1.0.0 для Instantcms 1.9. Погода парсится с сайта www.weather.ua, заносится в БД и затем на странице компонента выводится с БД.
Компонент небольшой, всего две страницы во фронтенде. Написал давно, думал доведу до ума. Но так и не получается выкроить время на доделку. Поэтому предоставляю в немного сыроватом виде. Имеется ввиду, что придется править файлы компонента для настройки. Админку так и не написал. Инсталлятор есть.
Иструкция по установке:
1.В файлах из архива произвести следующие изменения
— Файл router.php, строки 17 и 22 пропишите в урл название вашего города на латинице вместо "moem-gorode"
— сделайте тоже самое в файле шаблона com_pogoda.tpl, строки 96,98
— В файлах frontend.php(строки 114-120) и в файле шаблона com_pogoda.tpl (строки 8-14) замените везде, где встретите "моем городе" на название своего города
— в файле model.php, строка 21, пропишите id вашего города с сайта www.weather.ua. Чтобы узнать id вашего города, заходите на сайт, поиском находите ваш город и в адресной строке после знака вопроса увидите свой id. Например для города Нефтекамск адресная строка будет такая www.weather.ua/show/?2101, соответственно за место звездочек в файле нужно прописать 2101.
2. Сохраняем изменения в файлах;
3. Заливаем архив в корень сайта;
4. В админке устанавливаем компонент, Компоненты->Установить компоненты;
5. Настройки->Задачи CRON, включаем задачи для компонента "Импорт прогноза погоды" и "Импорт текущей погоды". Если нужно, меняем периодичность выполнения задач. Для выполнения задач необходимо, чтобы был включен в CRON у хостера файл cron.php в корне сайта.
Посмотреть можно здесь.
Приятного пользования!
Предоставляю вашему вниманию компонент POGODA v 1.0.0 для Instantcms 1.9. Погода парсится с сайта www.weather.ua, заносится в БД и затем на странице компонента выводится с БД.
Компонент небольшой, всего две страницы во фронтенде. Написал давно, думал доведу до ума. Но так и не получается выкроить время на доделку. Поэтому предоставляю в немного сыроватом виде. Имеется ввиду, что придется править файлы компонента для настройки. Админку так и не написал. Инсталлятор есть.
Иструкция по установке:
1.В файлах из архива произвести следующие изменения
— Файл router.php, строки 17 и 22 пропишите в урл название вашего города на латинице вместо "moem-gorode"
— сделайте тоже самое в файле шаблона com_pogoda.tpl, строки 96,98
— В файлах frontend.php(строки 114-120) и в файле шаблона com_pogoda.tpl (строки 8-14) замените везде, где встретите "моем городе" на название своего города
— в файле model.php, строка 21, пропишите id вашего города с сайта www.weather.ua. Чтобы узнать id вашего города, заходите на сайт, поиском находите ваш город и в адресной строке после знака вопроса увидите свой id. Например для города Нефтекамск адресная строка будет такая www.weather.ua/show/?2101, соответственно за место звездочек в файле нужно прописать 2101.
2. Сохраняем изменения в файлах;
3. Заливаем архив в корень сайта;
4. В админке устанавливаем компонент, Компоненты->Установить компоненты;
5. Настройки->Задачи CRON, включаем задачи для компонента "Импорт прогноза погоды" и "Импорт текущей погоды". Если нужно, меняем периодичность выполнения задач. Для выполнения задач необходимо, чтобы был включен в CRON у хостера файл cron.php в корне сайта.
Посмотреть можно здесь.
Скачать для версии ICMS 1.9
Возможно, когда-нибудь доработаю. Есть возможность парсить общую базу для всех городов России и выводить по городам. Но смущает одно. База весит более 10 мб и у многих хостеров задача будет отваливаться по тайм-ауту. Пока что только в режиме одного города.Приятного пользования!
Реклама #
Malanas 12 лет назад #
Black-Raven90 12 лет назад #
Марат 12 лет назад #
Hmelex 12 лет назад #
На демо - отлично смотрится
Спасибо
-----------------------------
Относительно базы городов:
Пользователь у себя сам же настраивает с какого он города, может брать данные от туда (для зарегистрированного пользователя), сравнивать-находить необходимый город в базе и выводить результат.
Либо в профиль пользователя добавить строчку:
- где родился
- где проживаешь - вот из ходя из неё и выводиться погода.
sotastroy 12 лет назад #
lezginka.ru 12 лет назад #
буду ждать доделки :)
Lagorden 12 лет назад #
Марат 12 лет назад #
Lagorden 12 лет назад #
Марат 12 лет назад #
Можете включить отладку мускул и вывод ошибок пхп и запустить задачу. Ошибки тоже покажутся.
Посмотрите, есть ли таблица cms_pogoda_current и есть ли записи в ней.
Марат 12 лет назад #
С шаблона уберите блок, касающийся текущей погоды и в задачах крон выключите парсер текущей погоды.
vpugachev 12 лет назад #
Марат 12 лет назад #
Итак, если вы только установили компонент, данных не будет. Чтобы данные о погоде появились, нужно с админки запустить выполнение задач cron компонента.
Далее, данные о текущей погоде обновляются по умолчанию каждый час, прогноз погоды раз в 4 часа. Чтобы задачи компонента выполнялись с такой периодичностью, нужно настроить выполнение cron сайта у хостера с периодичностью 1 час. То есть файл cron.php должен выполняться каждый час.
Как уже говорил, в данном виде компонент только для одного города. Какой город установили, такой и будет показывать.
В перспективе можно сделать так, чтобы мог показывать для разных городов, но, как уже говорил, объем обрабатываемого файла будет 10 мб. Надо будет поэксперементировать, при каких значениях max_execution_time скрипт будет работать. В неблизком будущем, постараюсь сделать. А дальше уже, если база всех городов есть, вывод для каждого пользователя и фильтры - это уже дело техники.
FreeLancer 12 лет назад #
Марат 12 лет назад #
bondar 12 лет назад #
bondar 12 лет назад #
Нил™ 12 лет назад #
Марат 12 лет назад #
Нил™ 12 лет назад #
vpugachev 12 лет назад #
Марат 12 лет назад #
lolik 12 лет назад #
Марат 12 лет назад #
Вот даже тему создавали.
mk727 12 лет назад #
В файле install.sql в строках 42-43 нужно заменить cms_cron_jobs на vashprefiks_cron_jobs
Марат 12 лет назад #
Олег 12 лет назад #
mk727 12 лет назад #
У меня пришло вот такое:
Марат 12 лет назад #
Время посл. обновления - может немного быть неточным. Не помню точно. Там используется стандартная функция движка. И после получаса вроде бы округляет вроде бы к часу. Точное время надо смотреть в админке, напротив задачи. Вероятно, что задача у вас не запустилась из-за того, что период стоит 1 ч, и после последнего запуска не прошел ещё 1час.
lesterkey 12 лет назад #
SJen 12 лет назад #
letsgo 12 лет назад #
Дмитрий 12 лет назад #
Всё сделал по инструкции. http://услуги39.рф/pogoda
Марат 12 лет назад #
Дмитрий 12 лет назад #
Sergey Platonov 12 лет назад #
Arator 12 лет назад #
Марат 12 лет назад #
Можно настроить крон для запуска по vget. В этом случае указываем путь http://site.com/cron.php.
Arator 12 лет назад #
Remi 12 лет назад #
Андрей 12 лет назад #
есть возможность перелить?
Марат 12 лет назад #
SE7EN 12 лет назад #
SE7EN 12 лет назад #
Юра 12 лет назад #
Марат 12 лет назад #
Но я понял, что нужно вывести текущую погоду на главную... На сайте, которая предоставляет прогноз погоды, есть информеры. Можно воспользоваться ими и вывести при помощи модуля "Внешний файл".
Или вам нужно вывести весь компонент на главную?
Олег с клещами 12 лет назад #
Марат 12 лет назад #
letsgo 12 лет назад #
konstantin 12 лет назад #
Давление: 737 ; Ветер: 3 м/с ; Влажность: 78%
Обновлено 12 часов назад
konstantin 12 лет назад #
Марат 12 лет назад #
konstantin 12 лет назад #
Марат 12 лет назад #
konstantin 12 лет назад #
Марат 12 лет назад #
konstantin 12 лет назад #
Олег с клещами 12 лет назад #
Если в админке вручную нажать выполнение кронов, то всё появляется. Где собака порылась??
БИБАБО 12 лет назад #
БИБАБО 12 лет назад #
Марат 12 лет назад #
Если всё нормально, то в настройках крон хостера укажите e-mail, на который нужно присылать отчет о выполнении крон. Такая возможность есть при настройке крона. Смотрите, что за ошибки будут на мыло.
greshnik 12 лет назад #
Alexneva 12 лет назад #
greshnik 12 лет назад #
universe 12 лет назад #
Марат 12 лет назад #
GarikKR 12 лет назад #
GarikKR 12 лет назад #
greshnik 12 лет назад #
Юра 12 лет назад #
Марат 11 лет назад #
Файлы перекодированы в утф-8 и в инсталляционном запросе в БД исправлена кодировка.
Anonim 11 лет назад #
hydraq 11 лет назад #
universe 11 лет назад #
universe 11 лет назад #
в components\pogoda\model.php все weather.co.ua меняем на weather.ua и все работает
yrenzii 11 лет назад #
Марат 11 лет назад #
1. Компонент создан именно для региональных сайтов. Потому что для любого населенного пункта N запрос "погода в N" является СЧ или даже ВЧ. И компонент позволяет создать страницу этой погоды с нужным uri. Плюс, если добавить на страницу соотвествующий контент и поставить несколько ссылок извне, можно сорвать приличный трафик. А для нерегионального сайта эта страница будет у вас где-нибудь на 50 странице и никто туда не придет.
2. Чтобы держать базу погоды для всех городов, как уже говорил, нужно будет каждый раз парсить базу в 10 с лишним мегабайт. Если учитывать, что парсинг текущей погоды запускается каждый 1 час, а текущей каждые 4 часа, то возможно, что входящий трафик намного превысит исходящий. Сами знаете как это не любят хостеры. Не говорю уже о нагрузке на сервер, которая будет при обработке данных в 10 мб. На шареде точно не покатит.
yrenzii 11 лет назад #
наверное город подставляется и вся база не парсится, жаль не доделано до конца, вот типа такого, только не с гисметео а с weather.ua , что-бы прогноз на несколько дней вывести
yrenzii 11 лет назад #
Марат 11 лет назад #
Ну, это тема уже для отдельной разработки. Попробуйте создать тему на форуме, может кто и возьмется. Релизация возможна и не очень то и сложна.
lokanaft 11 лет назад #
Владимир Савенко ✝️ 11 лет назад #
universe 11 лет назад #
Владимир Савенко ✝️ 11 лет назад #
alpik 11 лет назад #
alpik 11 лет назад #
Проблема только по крону (крон работает по wget) - не срабатывает каждые 4 часа, приходится вручную. Другие Задачи CRON в админке обрабатываются как положено...
alpik 11 лет назад #
toropa 11 лет назад #
wportal 11 лет назад #
Но подходит для региональных сайтов, для больших проектов нет
Если б брало для города пользователя, цены б разработчику не было
Роман 11 лет назад #
все задачи выполняются (смотрю по дате посл запуска), но погода не обновляется.
Не обновляется даже если запускаешь напрямую файл cron.php, только с админки на ручном обновлении удается обновить.
Кто сталкивался с таким подскажите что делать?
Dmitry920 11 лет назад #
Только руками обновляется погода
Марат 11 лет назад #
alpik 11 лет назад #
Марат 11 лет назад #
SEOrigin 11 лет назад #
Бурдель Дмитрий 11 лет назад #
universe 11 лет назад #
kirkr 11 лет назад #
Марат 11 лет назад #
Keep 11 лет назад #
smm_grin 11 лет назад #
asa 10 лет назад #
StronG 10 лет назад #
lezginka.ru 10 лет назад #
universe 10 лет назад #
lezginka.ru 10 лет назад #
lezginka.ru 10 лет назад #
Ьascal 10 лет назад #
myfolder.ru 10 лет назад #
Марат 10 лет назад #
Ьascal 10 лет назад #
Марат 10 лет назад #
Ьascal 10 лет назад #
Александр 10 лет назад #
Vlad 9 лет назад #
Zelleboba 9 лет назад #
Станислав Григорьевич (Мозголом) 9 лет назад #
Александр 9 лет назад #
Александр 9 лет назад #
Erwin 9 лет назад #
Александр 9 лет назад #
Endroid 9 лет назад #
Марат 9 лет назад #
В админке дата запуска задачи меняется? На какой версии icms? После каких действий перестали запускаться задачи крона компонента? В логах что показывается?
Если задача запускается, но не парсятся данные в БД, проверьте есть ли прогноз для вашего города на сайте донора.
Endroid 9 лет назад #
Кстати, для моего города прогноз пропал.
На вашем демо сайте тоже последняя дата 27 июня, как и у меня на рабочем
Александр 9 лет назад #
задачи выполнялись последний раз 2015-06-27 09:40:03 и 2015-06-27 11:05:05 все так же как сказал MakArtSoft +1!
Александр 9 лет назад #
Марат 9 лет назад #
Чтобы компонент заработал, откройте файл модели компонента /components/pogoda/model.php и в строках 34 и 73:
Время от времени прогноз не доступен. Как например в данный момент для Нефтекамска. Будем надеяться, что поправят.
Александр 9 лет назад #
Александр 9 лет назад #
Ingvarruss 8 лет назад #