[Сценарий] Пробки (Яндекс)
Добавлено: Вс ноя 08, 2015 6:20 pm
На форуме полно инфы по поводу яндекс-погоды, а на счет яндекс-пробок написано крайне мало. Из темы http://majordomo.smartliving.ru/forum/v ... ?f=6&t=405 нашел только ссылку. По-этому решил выложить пару готовых наработок для новичков, которые можно использовать в чистом виде.
1) Создаем в объектах класс ya_probki
2) Создаем объект (я создал по названию города - Ekaterinburg)
3) У объекта свойства ( city_title, level, val, time, icon, tend)
4) У класса создаем метод check
5) У объекта нажимаем в методах - Настроить, и вписываем кодПримечание: данный код автоматически определяет регион. Если регион определен неверно, либо нужна информация из других регионов - их нужно указать вручную. Список регионов тут. Чтобы указать - заменяете первую строку кода на
6) Запускаем метод, например раз в час, вписав в OnNewHour
Полученные значения можно использовать уже как хотите - в меню, в элементах сцен, в шаблонах.
Вот пару примеров:
В сцене(код тот же что и для второго элемента меню, просто вставил в сцену ради примера)
Чуть позже постараюсь оформить все это дело в модуль, как только пойму - как все это делается))
Обновление:
-Закинул значки светофоров (свои тоже оставил - как альтернативу)
-Заменил скрины
-Добавлена информация по региону
1) Создаем в объектах класс ya_probki
2) Создаем объект (я создал по названию города - Ekaterinburg)
3) У объекта свойства ( city_title, level, val, time, icon, tend)
4) У класса создаем метод check
5) У объекта нажимаем в методах - Настроить, и вписываем код
СпойлерПоказать
Код: Выделить всё
$data_file='https://export.yandex.ru/bar/reginfo.xml'; // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
//Выставляем переменные
sg('Ekaterinburg.city_title', $xml->region->title);
sg('Ekaterinburg.level', $xml->traffic->level);
sg('Ekaterinburg.icon', $xml->traffic->icon);
sg('Ekaterinburg.time', $xml->traffic->time);
sg('Ekaterinburg.val', $xml->traffic->hint);
sg('Ekaterinburg.tend', $xml->traffic->tend);
Код: Выделить всё
$data_file='http://export.yandex.ru/bar/reginfo.xml?region=<номер региона>';
Код: Выделить всё
CallMethod('Ekaterinburg.check');
Вот пару примеров:
Для верхнего элементаПоказать
Код: Выделить всё
<font color="%Ekaterinburg.icon%" size=4>
<font color="white">Город: </font>%Ekaterinburg.city_title%<br>
<font color="white">Баллы:</font> <font size=5>%Ekaterinburg.level%</font><br>
%Ekaterinburg.val%<br>
<font size=2 color="white">Обновлено: %Ekaterinburg.time% </font><br>
</font>
Для нижнего элементаПоказать
Код: Выделить всё
<div align="left"><font size=4>%Ekaterinburg.city_title%</font></div>
<img src="/templates_alt/img/icons/ya_probki/%Ekaterinburg.icon%.png" align="right">
<div align="left" padding="10%"><font color="%Ekaterinburg.icon%" size="6">%Ekaterinburg.level%</font></div>
<div align="left"><font color="%Ekaterinburg.icon%">%Ekaterinburg.val%</font></div>
Обновление:
-Закинул значки светофоров (свои тоже оставил - как альтернативу)
-Заменил скрины
-Добавлена информация по региону