Страница 5 из 5

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

Добавлено: Вт сен 09, 2014 12:02 pm
Ivan
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">%

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

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

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

Добавлено: Сб сен 13, 2014 7:52 am
adzam
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) полученная с сервера погоды: ясно, облачно и т.д.

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

Добавлено: Чт дек 28, 2017 12:10 pm
hc2hunter
%relar.status|30|1=On;0=Off%
Так, а реально такие конструкции невозможны?
Может существует способ использовать как-то тернарный оператор? Типа %object.value>10|30 ? "вставить_что-то_одно" : "вставить_что-то_еще"%
Было бы удобно...

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

Добавлено: Чт дек 28, 2017 7:15 pm
Vovix
hc2hunter писал(а):
%relar.status|30|1=On;0=Off%
Так, а реально такие конструкции невозможны?
Может существует способ использовать как-то тернарный оператор? Типа %object.value>10|30 ? "вставить_что-то_одно" : "вставить_что-то_еще"%
Было бы удобно...
вот https://majordomo.smartliving.ru/forum/ ... 379#p41119