Компонент погоды от DTVRus

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Перестал работать компонент погоды

#16 25 февраля 2016 в 13:09
Спасибо за подсказку! Буду копать!
#17 25 февраля 2016 в 14:39
iWeb, вам последнее китайское предупреждение.
Вы зачем платную разработку выкладываете в общий доступ, какая бы она не была?
Нам тут ваш негатив с сотней восклицательных знаков не нужен.
Возникла проблема с дополнением, тем более платным — обращайтесь к его автору.
Хотите пожаловаться — есть соответствующая тема на форуме.
#18 11 марта 2016 в 21:07
export.yandex.ru/weather-ng/forecast/...xml в 12 строке cron_pogw.php не открывается в принципе. заменил протокол на https — страница отрывается через раз. СП хостинга (спасибо им большое) добавили строку
if (empty($output)) return false;
Это проверка на пустой ответ от сервера Яндекса. Если ответа нет — скрипт завершает работу. По идее это должно помочь не затирать результаты предыдущих запросов.
Вроде бы всё заработало, но пришлось запускать задачу раза 3, чтобы получить данные.

В компоненте много кривых недочетов, которые пришлось править руками. Но пока что работает. Дальше посмотрим.
#19 11 марта 2016 в 21:41
Даа и что теперь… тоже перестало работать… нехорошо как то. Тем более удален из каталога, я так понимаю что автор отказался от своего творения… и допиливать придется. Но как я ноль в php
#20 12 марта 2016 в 04:03


export.yandex.ru/weather-ng/forecast/...xml в 12 строке cron_pogw.php не открывается в принципе. заменил протокол на https — страница отрывается через раз. СП хостинга (спасибо им большое) добавили строку
if (empty($output)) return false;
Это проверка на пустой ответ от сервера Яндекса. Если ответа нет — скрипт завершает работу. По идее это должно помочь не затирать результаты предыдущих запросов.
Вроде бы всё заработало, но пришлось запускать задачу раза 3, чтобы получить данные.

В компоненте много кривых недочетов, которые пришлось править руками. Но пока что работает. Дальше посмотрим.

asnenne

Подскажите пожалуйста, в каком файле и на какой стоке что надо дописать?
#21 12 марта 2016 в 06:17
Парсер без поддержки — деньги на ветер, проблемы будут при любом изменении со стороны донора. sad
#22 12 марта 2016 в 08:37

Подскажите пожалуйста, в каком файле и на какой стоке что надо дописать ?

iWeb

замените содержимое файла system/controllers/pogoda/hooks/cron_pogw.php на это:
  1. <?php
  2.  
  3. class onPogodaCronPogw extends cmsAction {
  4.  
  5. public function run(){
  6.  
  7.  
  8. $options = $this->loadOptions($this->name);
  9. $sources_list = $options['cod_sity'];
  10. $controller = cmsCore::getController('pogoda');
  11. $city_id = $sources_list; // id города
  12. $url = 'https://export.yandex.ru/weather-ng/forecasts/'.$city_id.'.xml';
  13. $userAgent = 'Googlebot/2.1 (+https://www.google.com/bot.html)';
  14. $xml = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'/cache/weather_'.$city_id.'.xml';
  15. $ch = curl_init($url);
  16. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  17. curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
  18. curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
  19. $output = curl_exec($ch);
  20. if (empty($output)) return false;
  21. $fh = fopen($xml, 'w');
  22. fwrite($fh, $output);
  23. fclose($fh);
  24. return true;
  25. }
  26. }
После этого зайдите в планировщик и запустите задачу "обновление кэша погоды" вручную. Если не сработает с первого раза, запускайте, пока не сработает. У меня получилось с 3-го раза. Сегодня вроде работает, пока ничего не слетело, погода иногда обновляется (иногда, потому что Яндекс отдает данные через раз). Поставил период выполнения каждые 20 минут.

В этом же файле в 12 строке вместо '.$city_id.' пришлось вставить id города, так как даже при том, что xml загружался в Яндексе, скрипт не мог эти данные получить… После этого уже целый день работает без сбоев. Дальше будет видно.
#23 12 марта 2016 в 21:07
Я решил полностью отказаться от этого компонента и витжета погоды от DTVRus и перешел на аналогичный компонент, но не от Яндекса, а от ГМ
Погода компонент и витжет
Все работает стабильно — установил, настроил и забыл!
#24 12 марта 2016 в 22:20


Подскажите пожалуйста, в каком файле и на какой стоке что надо дописать ?

iWeb

замените содержимое файла system/controllers/pogoda/hooks/cron_pogw.php на это:
  1.  
  2.  

asnenne

Огромное спасибо за помощь !
#25 12 марта 2016 в 22:21


Парсер без поддержки — деньги на ветер, проблемы будут при любом изменении со стороны донора. sad

Pasechnik

Это точно так и есть! Как быть то в таких случаях?
#26 13 марта 2016 в 09:08

Парсер без поддержки — деньги на ветер

iWeb

Как быть то в таких случаях ?

iWeb
Делать самому… или иметь возможность исправить имеющиеся недостатки в сторонних "работах". А для этого нужно учиться… — самому… благо сообщество для этого и существует😊.
#27 13 марта 2016 в 14:19


Парсер без поддержки — деньги на ветер

iWeb

Как быть то в таких случаях ?

iWeb
Делать самому… или иметь возможность исправить имеющиеся недостатки в сторонних "работах". А для этого нужно учиться… — самому… благо сообщество для этого и существует😊.

Soul

Да! Вы Правы!
#28 13 марта 2016 в 14:22


Даа и что теперь… тоже перестало работать… нехорошо как то. Тем более удален из каталога, я так понимаю что автор отказался от своего творения… и допиливать придется. Но как я ноль в php

Владимир

Может вы когда допилите, возьмете его на постоянное обслуживание и обновление в каталог дополнений?
#29 13 марта 2016 в 19:06

Делать самому… или иметь возможность исправить имеющиеся недостатки в сторонних "работах".

Soul
Все не охватишь, так бы прогеры без работы остались. smile

Может вы когда допилите, возьмете его на постоянное обслуживание и обновление в каталог дополнений ?

iWeb
Разумная мысль, взялся бы кто за поддержку данного компонента. Мы бы оплачивали обновления, думаю, брошенные DTVRus клиенты не были бы против.
#30 13 марта 2016 в 20:45


Делать самому… или иметь возможность исправить имеющиеся недостатки в сторонних "работах".

Soul
Все не охватишь, так бы прогеры без работы остались. smile

Может вы когда допилите, возьмете его на постоянное обслуживание и обновление в каталог дополнений ?

iWeb
Разумная мысль, взялся бы кто за поддержку данного компонента. Мы бы оплачивали обновления, думаю, брошенные DTVRus клиенты не были бы против.

Pasechnik

Полностью поддерживаю автора поста! v
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.