[Gelöst] Problem mit data-template seit dem heutigen Update

Begonnen von OdfFhem, 20 Januar 2018, 09:00:51

Vorheriges Thema - Nächstes Thema

OdfFhem

Folgende Ausgangssituation

irgendwo auf z.B. index.html

<div class="inline mini bold" data-template="template_neu_tagesstatus1.html" data-parameter='{"param01":"geburtstag","param02":"G","param03":"g","param04":"Geburtstag","param05":"","param06":""}'/>


template_neu_tagesstatus1.html

<div data-type="symbol" data-device="Tagesstatus" data-get="param01" data-limits='["false","true"]' data-icon="none" data-color='none'
                                      data-background-icons='["fa-circle","fa-circle blink"]' data-background-colors='["lightgray","lightgray"]'>
  <div data-type="popup" data-width="640px" data-height="480px">
    <div data-type="label" data-device="Tagesstatus" data-get="param01"
                                       data-limits='["false","true"]' data-colors='["black","green"]'
                                      data-hide="hide" data-substitution='["true","param02","false","param03"]'/>
    <div class="dialog">
      <header>param04kalender</header>

      <div class="sheet">
         <div class="row" data-template="template_neu_calview1.html" data-parameter='{"param001":"param04","param002":"001","param003":"0"}'/>
      </div>
    </div>
  </div>
</div>


Bis gestern brachte dies den gewünschten Erfolg und im Popup war der nächstliegende Geburtstag zu sehen. Nach dem Update ist das Popup leer.

Im Browser-Debugger zeigt sich dann auch der Grund, denn die Templates des dialog-div wurden nicht "aufgelöst".



P.S.: Irgendwie ist ein "-" in die FTUI-Versionsnummer gekommen ... 2.6.-37

setstate

ZitatP.S.: Irgendwie ist ein "-" in die FTUI-Versionsnummer gekommen ... 2.6.-37

das Minus steht für Rückschritt-Version, weil alter Code wieder drin ist.

Deine HTMLs sehen nach Template in Template aus. Das geht jetzt nicht mehr mit der neuen Alt-Version.

Dafür muss man jetzt nur noch data-include benutzen.
Ich hatte versucht das zu vereinigen ohne HTML Änderungen, aber es gab zu viele Beschwerden über Endlosschleifen

OdfFhem

@setstate
Nach der Umstellung auf include ist die Anzeige wieder zurück. :)

Allerdings ist die Formatierung nun fehlerhaft. :(

... irgendwo ...

<div class="sheet">
  <div class="row">
    <div data-type="include" data-url="template_neu_calview1.html" data-parameter='{"param001":"param04","param002":"001","param003":"0"}'/>
  </div>
</div>


template_neu_calview1.html

<div class="cell-15"> ... </div>
<div class="cell-70"> ... </div>
<div class="cell-15"> ... </div>


Im Ergebnis stehen die "cell"-Elemente jetzt untereinander ... vorher standen sie erwartungsgemäß nebeneinander.

setstate

Weil dann das include zwischen row und cell sitzt. Dann wirken die CSS Definitionen nicht mehr.

falsch:

<div class="sheet">
  <div class="row">
    <div data-type="include" data-url="template_neu_calview1.html" data-parameter='{"param001":"param04","param002":"001","param003":"0"}'/>
  </div>
</div>


richtig:

<div class="sheet">
  <div class="row" div data-type="include" data-url="template_neu_calview1.html" data-parameter='{"param001":"param04","param002":"001","param003":"0"}' >
  </div>
</div>

OdfFhem

@setstate
Das war's.

Es reicht  data-template durch data-type="include" data-url zu ersetzen.

Da habe ich mir ja bei meinem ersten Reparaturversuch viel zu viel Tipparbeit aufgehalst.


Und wie immer, vielen Dank für die prompte Hilfe.

Eisix

Hallo Setstate,

habe heute die Zeit gefunden mich mit der aktuellen Version auseinander zu setzen.

Version 2.6.34

<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * main page
     *
     load this page via widget pagebutton

          -->

</head>
<body>
  <div class="page" id="heating_etage_eg">
    <div class="gridster">
    <ul>
        <li data-row="1" data-col="2" data-sizex="3" data-sizey="3"                     
                 data-template="templates/Thermostat.htm"      data-parameter='{"par01":"BAD_EG",
                                                                                "par02":"BAD_EG",
                                                                                "par03":"Sensor_BAD_EG",
                                                                                "par04":"Heizung_BAD_EG:stateColor",
                                                                                "par05":"19",
                                                                                "par06":"21",
                                                                                "par07":"24",
                                                                                "par08":"22"
                                                                                }'
        ></li>


funktionierte.


Version 2.6.37


<!DOCTYPE html>
<html>
<head>
    <!--
     /* FHEM tablet ui */
     /*
     * main page
     *
     load this page via widget pagebutton

          -->

</head>
<body>
  <div class="page" id="heating_etage_eg">
    <div class="gridster">
    <ul>
        <li data-row="1" data-col="2" data-sizex="3" data-sizey="3"
                 data-type="include" data-url="templates/Thermostat.htm"      data-parameter='{"par01":"BAD_EG",
                                                                                "par02":"BAD_EG",
                                                                                "par03":"Sensor_BAD_EG",
                                                                                "par04":"Heizung_BAD_EG:stateColor",
                                                                                "par05":"19",
                                                                                "par06":"21",
                                                                                "par07":"24",
                                                                                "par08":"22"
                                                                                }'
        ></li>


funktioniert leider nicht.
Wo liegt mein Fehler?

Gruß
Eisix


Eisix

Hallo,

der Vollständigkeit halber. Habe es hingekriegt.


        <li data-row="1" data-col="2" data-sizex="3" data-sizey="3">
                 <div data-type="include" data-url="templates/Thermostat.htm"  data-parameter='{"par01":"BAD_EG",
                                                                                "par02":"BAD_EG",
                                                                                "par03":"Sensor_BAD_EG",
                                                                                "par04":"Heizung_BAD_EG:stateColor",
                                                                                "par05":"19",
                                                                                "par06":"21",
                                                                                "par07":"24"
                                                                                }'
                ></div>
        </li>



Gruß
Eisix