Макросы %object.property%

Новые релизы, обновления и т.п.

Модератор: immortal

Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Макросы %object.property%

Сообщение Ivan » Вт сен 09, 2014 12:02 pm

sergejey писал(а):Я уже где-то писал, что такое не работает в страницах, но работает в меню и сценах. Обходной вариант -- это загонять в свойство целый код
<img src="/images/blocks/0.png" valign="bottom">
или
<img src="/images/blocks/1.png" valign="bottom">
и потом использовать вставку этого свойства типа
%Nano8.statusImage%
Не получается так делать в меню. Кавычки экранируются
<img src="\"/img/status_1.png\"" valign="\"bottom\"">
Но после АвтоОбновления всё становится как нужно

Всё же лучше иметь шаблон:
%relar.status|30|1=On;0=Off%
%relar.status|30|1=<img href="/img/On.gif">;0=<img href="/img/Off.gif">%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Макросы %object.property%

Сообщение sergejey » Пт сен 12, 2014 12:58 pm

Проблему с "экранизацией" HTML-кода в заголовках решил, теперь и при первой загрузке не должно быть битых картинок, если они используются.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
adzam
Сообщения: 602
Зарегистрирован: Сб дек 08, 2012 10:28 pm
Откуда: Кишинев
Благодарил (а): 20 раз
Поблагодарили: 138 раз

Re: Макросы %object.property%

Сообщение adzam » Сб сен 13, 2014 7:52 am

sergejey писал(а):
PAV писал(а):Жаааль. А как заставить обновляться картинку? Есть обходы?
Нужно добавить такую функцию в код страницы или шаблона:

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

<script language="javascript">
 function ajaxUpdateImageStatus(varname, id, timeout) {
  var url="/";
  url+='?md=application&action=ajaxgetglobal&var='+encodeURIComponent(varname);
  $.ajax({
   url: url
  }).done(function(data) { 
   var obj=jQuery.parseJSON(data);
    if (obj.DATA) {
      $("#"+id).attr("src","/images/blocks/"+obj.DATA+".png");
    }
   });
  if (timeout>0) {
   window.setTimeout('ajaxUpdateImageStatus("'+varname+'", "'+id+'", '+timeout+');', timeout);
  }
 }
</script>
затем можно использовать так:

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

<img src="/images/blocks/0.png" valign="bottom" id="arduino_alive_img">
<script>ajaxUpdateImageStatus('Arduino.alive','arduino_alive_img',120)</script>
последние две строчки можно использовать многократно для разных картинок, где нужно менять 0 на 1 и наборот.

Код, честно говоря, не тестировал, но должно работать :)
А если не 0 и 1.
Как быть если надо поменять 10 иконок (Pogoda.Img) в зависимости какое значение имеет переменная (Sinoptik.Img) полученная с сервера погоды: ясно, облачно и т.д.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: Макросы %object.property%

Сообщение hc2hunter » Чт дек 28, 2017 12:10 pm

%relar.status|30|1=On;0=Off%
Так, а реально такие конструкции невозможны?
Может существует способ использовать как-то тернарный оператор? Типа %object.value>10|30 ? "вставить_что-то_одно" : "вставить_что-то_еще"%
Было бы удобно...
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 531 раз
Контактная информация:

Re: Макросы %object.property%

Сообщение Vovix » Чт дек 28, 2017 7:15 pm

hc2hunter писал(а):
%relar.status|30|1=On;0=Off%
Так, а реально такие конструкции невозможны?
Может существует способ использовать как-то тернарный оператор? Типа %object.value>10|30 ? "вставить_что-то_одно" : "вставить_что-то_еще"%
Было бы удобно...
вот https://majordomo.smartliving.ru/forum/ ... 379#p41119
За это сообщение автора Vovix поблагодарил:
hc2hunter (Пт дек 29, 2017 12:06 pm)
Рейтинг: 1.16%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить