Я.Погода 1.2 : парсинг погоды с Яндекса

Я.Погода 1.2 : парсинг погоды с Яндекса

Модуль берет информацию по указанному городу с сайта Яндекс.Погоды и выводит в виде информера на сайте. Парсинг идет за 10 дней, которые можно выводить на отдельной странице, а также в любом месте сайта - информером на сегодняшний день по параметрам Утро/День/Вечер/Ночь.








Установка:
1. Установить модуль через систему плагинов на сайте.

2. В Панели управления DLE перейти в Сторонние модули -> Я. Погода -> Настройки > выбрать и настроить город для вывода.

3. Для обновления погоды по крону следует запускать:
/engine/modules/mods/weather/cron.php

Готово!

ja_pogoda-1_2-parsing-pogody-s-jandeksa.zip
Создайте аккаунт или авторизуйтесь для скачивания
 
Версия DLE: 13.x-14.0
Кодировка: utf-8
Автор: Dark5ider
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.

Комментариев 13

pervo 9 февраля 2022 13:10
Цитата: pervo
Цитата: Oxigen
pervo, содержимое engine/cache/system/plugins/ очистить пробовали?

да попробовал, такая же ошибка (на нескольких сайтах где были установлены) сайты просто не работают :(

обновился до 15,1 погоду перестал показывать. Система пишет что вот такие ошибки:

Имя плагина: Относительные пути к картинкам и заглушки
Имя файла: engine/modules/show.custom.php
Ошибка: Не удалось найти код:
if( $value[12] AND file_exists(ROOT_DIR . "/uploads/posts/" .$path_parts['dirname']."/thumbs/".$path_parts['basename']) ) {
					$thumb_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/thumbs/".$path_parts['basename'];
					$img_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
				} else {
					$img_url = 	$config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
					$thumb_url = "";
				}

Имя плагина: Относительные пути к картинкам и заглушки
Имя файла: engine/modules/show.short.php
Ошибка: Не удалось найти код:
if( $value[12] AND file_exists(ROOT_DIR . "/uploads/posts/" .$path_parts['dirname']."/thumbs/".$path_parts['basename']) ) {
						$thumb_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/thumbs/".$path_parts['basename'];
						$img_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
					} else {
						$img_url = 	$config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
						$thumb_url = "";
					}
pervo 26 мая 2021 09:20
djavtosh, только дошли руки.... всё отлично работает ! Большое спасибо!
djavtosh 26 февраля 2021 12:00
Попробуйте в файле engine/plugins/weather/functions.php:
1.
$mni = str_replace('icon_size_26', '', $fm->find('i', 0)->getAttribute('class'));

заменить на
$fmFind = null !== $fm->find('i', 0) ? $fm->find('i', 0)->getAttribute('class') : false;
$mni = str_replace('icon_size_26', '', $fmFind);

2.
$rdc[] = $tr->find('img', 0)->getAttribute('class');
$rdc[] = $tr->find('img', 0)->getAttribute('src');

заменить на
if (null !== $tr->find('img', 0))
{
$rdc[] = $tr->find('img', 0)->getAttribute('class');
$rdc[] = $tr->find('img', 0)->getAttribute('src');
}

3.
if (count($rd5)) $rd5[] = $tr->find('.icon_wind', 0)->getAttribute('class');

заменить на:
if (count($rd5) && null !== $tr->find('.icon_wind', 0)) $rd5[] = $tr->find('.icon_wind', 0)->getAttribute('class');
pervo 27 января 2021 21:18
Цитата: Oxigen
pervo, содержимое engine/cache/system/plugins/ очистить пробовали?

да попробовал, такая же ошибка (на нескольких сайтах где были установлены) сайты просто не работают :(
Oxigen 26 января 2021 20:28
pervo, содержимое engine/cache/system/plugins/ очистить пробовали?
--------------------
Всё, что вы напишите, будет использовано против вас при показе контекстной рекламы :)
pervo 26 января 2021 18:27
Перестала обновляться погода, если плагин включен - сайт лежит (
Fatal error: Uncaught Error: Call to a member function getAttribute() on null in /var/www/www-root/data/www/сайт.ru/engine/plugins/weather/functions.php:60 Stack trace: #0 /var/www/www-root/data/www/сайт.ru/engine/cache/system/plugins/e307ffe8dfa16c407718976ed897d77b.php(1133): WeatherParserXpath('yekaterinburg') #1 /var/www/www-root/data/www/сайт.ru/engine/cache/system/plugins/1251ee77a8a50e691845cf52d198a289.php(1221): weather_print() #2 /var/www/www-root/data/www/сайт.ru/engine/modules/main.php(704): dle_template->compile('main') #3 /var/www/www-root/data/www/сайт.ru/engine/cache/system/plugins/351bff4b811cd934d0b4ffb05ff10cd8.php(1031): include_once('/var/www/www-ro...') #4 /var/www/www-root/data/www/сайт.ru/index.php(28): require_once('/var/www/www-ro...') #5 {main} thrown in /var/www/www-root/data/www/сайт.ru/engine/plugins/weather/functions.php on line 60
demavs 3 октября 2020 15:00
engine\plugins\weather/function.php 21 строчка:
function WeatherParserXpath($city = 'moscow'){
поменять на свой город, тогда будет работать
demavs 2 октября 2020 20:59
Цитата: demavs
работает отлично, но как добавить другие города?

работает не отлично, уже добавлены вами города, типо "Красноярск" вместо
{weather}

выдает
Погода
Днем: {day-temperature}, Ночью: {night-temperature}
Комментарии
путь к файлу другой
\engine\plugins\weather\data cities.php

писать новый город нужно ниже всех остальных, иначе ошибка
demavs 2 октября 2020 20:36
работает отлично, но как добавить другие города?
pervo 20 июля 2020 19:33
Цитата: mels
{include file="/engine/modules/mods/weather/custom.php"}

в нужном месте в шаблоне пропиши {weather} и будет счастье..