Есть вопросы по теме и коду

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
AndySot
Сообщения: 9
Зарегистрирован: Пт окт 11, 2019 9:44 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Есть вопросы по теме и коду

Сообщение AndySot » Вс окт 13, 2019 2:22 am

1.jpg
1.jpg (40.56 КБ) 251 просмотр
Доброго времени всем! Парни застрял.... честное слово. Помогите советом.
Делаю свою тему. Пытаюсь немного подправить Яндекс погоду. Исходя из того что есть в модуле. На всех сценах у меня отображается текущее состояние погоды и иконка. Но внимательный заметит, что время 22:24 (ночь), состояние погоды ясно, но иконка та СОЛНЦЕ ...Карл!!!! Добавил в свой набор иконки с луной. Если днем состояние погоды clear (Солнце), то ночная иконка n_clear (луна) и т.д..
У нас есть класс YandexWeather с свойством "yw_mycity.condition" куда прописывается текущее состояние погоды "clear" и есть свойство "yw_mycity.daytime" куда прописывается "n" или "d" автоматом при обновление погоды. И есть метод "ChangeCondition" в него пытаюсь прописать код, чтобы в ключ состояния погоды если "yw_mycity.daytime" = "n" , тогда "yw_mycity.condition" = n_clear иначе "yw_mycity.condition" = clear.
Вот кусок кода который прописываю ...

Код: Выделить всё

 // Определяем день/ночь для иконок
if ('yw_mycity.daytime' == 'n') {
    setGlobal('yw_mycity'.'.'.'condition', n_.$conditioneng);
} else {
	setGlobal('yw_mycity'.'.'.'condition', $conditioneng);
}
Не могу понять почему не работает. Третий день бьюсь. Как рыба об лед.
fandaymon
Сообщения: 770
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 26 раз
Поблагодарили: 337 раз

Re: Есть вопросы по теме и коду

Сообщение fandaymon » Вс окт 13, 2019 4:08 am

AndySot писал(а):
Вс окт 13, 2019 2:22 am
1.jpg

Доброго времени всем! Парни застрял.... честное слово. Помогите советом.
Делаю свою тему. Пытаюсь немного подправить Яндекс погоду. Исходя из того что есть в модуле. На всех сценах у меня отображается текущее состояние погоды и иконка. Но внимательный заметит, что время 22:24 (ночь), состояние погоды ясно, но иконка та СОЛНЦЕ ...Карл!!!! Добавил в свой набор иконки с луной. Если днем состояние погоды clear (Солнце), то ночная иконка n_clear (луна) и т.д..
У нас есть класс YandexWeather с свойством "yw_mycity.condition" куда прописывается текущее состояние погоды "clear" и есть свойство "yw_mycity.daytime" куда прописывается "n" или "d" автоматом при обновление погоды. И есть метод "ChangeCondition" в него пытаюсь прописать код, чтобы в ключ состояния погоды если "yw_mycity.daytime" = "n" , тогда "yw_mycity.condition" = n_clear иначе "yw_mycity.condition" = clear.
Вот кусок кода который прописываю ...

Код: Выделить всё

 // Определяем день/ночь для иконок
if ('yw_mycity.daytime' == 'n') {
    setGlobal('yw_mycity'.'.'.'condition', n_.$conditioneng);
} else {
	setGlobal('yw_mycity'.'.'.'condition', $conditioneng);
}
Не могу понять почему не работает. Третий день бьюсь. Как рыба об лед.
1. setGlobal('yw_mycity.condition', 'n_'.$conditioneng);
естественно в переменной $conditioneng что-то должно быть

2. Если метод ChangeCondition отрабатывает при изменении yw_mycity.condition, то присваивать в этом методе значение yw_mycity.condition - очень плохая идея

3. Чего бы не менять название иконки в том месте, в котором эта иконка выводится...
AndySot
Сообщения: 9
Зарегистрирован: Пт окт 11, 2019 9:44 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Есть вопросы по теме и коду

Сообщение AndySot » Вс окт 13, 2019 11:17 am

Что мне непонятно, если оставить просто

Код: Выделить всё

 // Определяем день/ночь для иконок
if ('yw_mycity.daytime' == 'n') {
    setGlobal('yw_mycity'.'.'.'condition', n_.$conditioneng);
 }   
то в ночь все отрабатывает "n_" добавляется. Естественно в день она тоже остается.
А если добавляю условие

Код: Выделить всё

 else {
	setGlobal('yw_mycity'.'.'.'condition', $conditioneng);
}
Тогда вообще не работает.
fandaymon
Сообщения: 770
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 26 раз
Поблагодарили: 337 раз

Re: Есть вопросы по теме и коду

Сообщение fandaymon » Вс окт 13, 2019 12:30 pm

AndySot писал(а):
Вс окт 13, 2019 11:17 am
Что мне непонятно, если оставить просто

Код: Выделить всё

 // Определяем день/ночь для иконок
if ('yw_mycity.daytime' == 'n') {
Строчка 'yw_mycity.daytime' никогда не будет равна 'n'
AndySot
Сообщения: 9
Зарегистрирован: Пт окт 11, 2019 9:44 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Есть вопросы по теме и коду

Сообщение AndySot » Вс окт 13, 2019 1:03 pm

Прописал другой костыль) Дождусь вечера проверю.
AndySot
Сообщения: 9
Зарегистрирован: Пт окт 11, 2019 9:44 pm
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Есть вопросы по теме и коду

Сообщение AndySot » Вт окт 15, 2019 11:53 pm

Вообщем победил. Пришлось сделать третий комплект иконок. Ну и ладно. Теперь есть три типа иконок n_clear - ночью, d_clear - днем и просто clear - иконки для основного прогноза. В метод добавил

Код: Выделить всё

 // Определяем день/ночь для иконок
$dn=gg("yw_mycity.daytime");
setGlobal("yw_mycity.condition2", $dn._.$conditioneng);
И на сцену в текущее состояние погоды вывожу "yw_mycity.condition2"
Теперь глаз не режет))
3.jpg
3.jpg (41.24 КБ) 120 просмотров
Ответить