Im Controller können beliebige JSON Model gebunden werden.

Die Model sind mit setModel(oModel,“XXXXX“) mit verschiedenen Namen gebunden. Im View lassen sich die Namen direkt ansprechen.

In dem Beispiel stelle ich Wetterdaten in einem einfachen Generic Tile dar. Die Wetterdaten werden von einem PHP Script aufbereitet – mit einfachem print out ist es nicht einmal ein gültiges JSON. UI5 ist in der Hinsicht unempfindlich.
Generic Tile mit Daten aus zwei JSON Model Daten aus openweathermap Daten müssen nach Code (Standort) gefiltert werden
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | <?php // Wetterdaten aus Postgres $dbconn = pg_connect("host=localhost dbname=a user=b password=c") or die('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error()); $query = 'select roh from orders order by id desc limit 1;'; $result = pg_query($query); $line = pg_fetch_array($result, null, PGSQL_ASSOC); $obj = json_decode($line['roh']); // in Freeboard KPI genutzt //case ("temp"): //$such = round($obj->main->temp - 273.15); //break; //case ("wind"): //$such = round($obj->wind->speed * 1.61); //break; //case ("aufgang"): $dusk = date("H:i:s",$obj->sys->sunrise); //break; //case ("untergang"): $dawn = date("H:i:s",$obj->sys->sunset); //break; // Handling Datum // Thomas August 2019 $aWeekdayNamesDE = [ 'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag' ]; $aMonthNamesDE = [ 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember' ]; $dt = new DateTime(); //} print('{"data":{ "dusk": "'.$dusk.'", "dawn": "'.$dawn.'", "day": "'.$aWeekdayNamesDE[$dt->format('w')].'", "month": "'.$aMonthNamesDE[$dt->format('n')-1].'", "kw": "'.$dt->format('W').'", "dayn": "'.$dt->format('d').'", "year": "'.$dt->format('Y').'"}}'); // Speicher freigeben pg_free_result($result); // Verbindung schließen pg_close($dbconn); ?> |
Ergebnis des PHP Scripts hier zum Beispiel: {„data“:{ „dusk“: „06:36:17“, „dawn“: „20:30:34“, „day“: „Mittwoch“, „month“: „August“, „kw“: „35“, „dayn“: „26“, „year“: „2020“}} und { „data“: [[0,19],[1,19],[2,19]]}
Du muss angemeldet sein, um einen Kommentar zu veröffentlichen.