Listen in PHP-Modulen

Du gibst jetzt der Console Daten mit, allerdings darfst du nichts hinzuzufügen bei Werten welche gespeichert werden sollen.
Da anschließend noch das matching mit den Daten aus der persistens erfolgt.
Und es wird bestimmt gespeichert, sobald du es schaffst in der Konsole übernehmen zu betätigen.
Ist aber Quark, für reine Anzeige nimm den Action Bereich.
Michael

Hallo Michael,

wieder einmal Danke für deinen Einsatz.

Ich habe es ansatzweise verstanden, werde jetzt nochmal drüber schlafen, wie es mache.

Eigentlich will ich nicht, dass der Nutzer auf einen „Button“ klicken muss, um die Daten angezeigt zu bekommen.

Ich probiere nochmal etwas rum.

so sieht es jetzt aus

Bildschirmfoto 2017-11-02 um 21.27.11.png

Allerdings ohne die Daten… Dann hole ich mir die Daten aus dem Profil, welches angelegt wird… geht auch.

Noch was vergessen…

Geht eigentlich eine automatische Indizierung, wenn der User einen neuen Wert / Eintag hinzufügt?!

Beispiel:

Index. Wert
1 Eins
2. Zwei

User fügt neuen Eintrag hinzu und automatisch kommt

Äh… Du musst doch gar keinen Button betätigen.
Einfach die Liste im Action Bereich darstellen.

Zu deiner Frage; nein geht nicht.
Michael

So, habe für mich eine Lösung gefunden…

Liste ist nicht im „actions“ Bereich, sondern unter „elements“.

Bevor parent::ApplyChanges(); lese ich die Daten aus und schreibe den json String in die Property.

Scheint auch zu funktionieren…

So, für heute ist Schluß.

Was liest du den wie aus ?
Auch vor dem Parent:: ApplyChanges sollten die neuen Settings schon geschrieben sein.
Was ja auch gar nicht auffällt, weil deine Daten sich ja nie ändern.
Und um im ApplyChanges die eigenes Settings zu schreiben musst du ja wieder ein ApplyChanges ausführen.

Verstehe auch nicht was ‚nicht‘ einstellbare Daten in der Settings zu suchen haben. Das bläht die ja nur noch mehr auf.
Michael

Guten Morgen Michael,

ich habe es rausgenommen.

Ob Sinn oder Unsinn, ich wollte es gerne verstehen, wie es mit den Listen funktioniert.
Wie immer, führen mehrere Wege zum Ziel.
Ich gebe dir recht, dass es nicht sinnvoll ist, Dinge in einem Konfigurationsformular zu speichern, welche nicht editierbar sind.
Daher habe ich es jetzt rausgenommen.

Gesendet von iPad mit Tapatalk

Hallo,

ist es möglich, die Daten einer Liste zu exportieren um diese später evtl. wieder zu importieren?
Also eine Art Backup der Liste.

Den JSON Inhalt ausgeben wäre ja mit RegisterPropertyString möglich.
Wäre es möglich den Inhalt in eine Textdatei zu speichern und über SelectFile evtl. wieder einzulesen.

Grüße,
Kai

Abspeichern eher schwierig, da wir dafür keine Element haben. Es sei denn du baust das selber mit Aktions Buttons.

Per SelectFile im Aktions-Bereich hochladen und dann IPS_SetProperty aufrufen sollte gehen. Aber wie immer Frage ich… Was möchtest du erreichen?

paresy

Hallo paresy,

danke für die schnelle Antwort.
Bei dem PS4 Modul, welches ich gerade entwickel.
Speicher ich die GameID und die Namen dazu in einer Liste. Über die GameIDs können die Spiele gestartet werden.
Ich würde diese Liste gerne exportieren können um diese nicht erneut pflegen zu müssen, wenn die Instanz mal gelöscht wird.

Grüße,
Kai

Gegenfrage… warum willst du es dann überhaupt erst löschen :slight_smile:
Export und Import der Settings ist nicht Aufgabe einen Moduls.
Gibt es ja z.B. beim WebFront-Konfigurator auch nicht.

Wenn du als User diese Daten sichern willst, kannst dies jederzeit mit einem PHP-Script und einem Einzeiler lösen: IPS_GetConfiguration oder IPS_GetProperty.
Und ebenso später wieder setzen mit IPS_SetConfiguration / IPS_SetProperty

Michael

Hallo Michael,

überzeugt… :smiley:
Ich habe an an die beiden Funktionen überhaupt nicht gedacht.

Grüße,
Kai

Du kannst ja, für so als i-Tüpfelchen, ein Script mit dieser Funktion durch deine Instanz erstellen.
Damit gibst du dem User dann gleich das passende Werkzeug an die Hand :slight_smile:
Wobei er dann ja auch nur das JSON als Text in der Console bekommt. Kopieren und wegspeichern muss er zu Fuß.
Michael

Besteht die Möglichkeit innerhalb einer Liste in einer Spalte eine Art Drop/Down Feld zu haben (so wie der „type“ Select, in dem dann CheckBoxen gesetzt werden können.

Ich möchte gerne, dass der User in einer Spalte der Zeile auswählen kann was geprüft werden soll.

Irgendwie breche ich mir gerade einen ab.

Uli

Du kannst nur die „definierten Spalten“ editieren. Und wir haben in dem Sinne kein Element, welches eine Art Multi-Select wäre. Somit hab ich ad hoc keine gute Idee.

paresy

Hallo Michael,

danke für die schnelle Info… Habe ich mir fast gedacht.

Ich kann mir ja behelfen, dass ich in jeder Spalte die CheckBox mache, wäre halt bei 8 Elementen etwas Platzverschwendung. Schöner wäre da eine weitere Liste / Auswahl der 8 Elemente.

Uli

Du könntest eine Liste in deiner Liste platzieren. Die eingebundene Liste hätte dann Checkboxen. Dann würdest du auf Bearbeiten klicken und im Bearbeiten-Dialog hast du dann eine Liste mit Checkboxen.

Hi Niels,

das hatte ich probiert, bzw. versucht, hat aber nicht geklappt. Vermutlich habe ich etwas falsch gemacht. Habe es jetzt anders gelöst bin damit zufrieden. Trotzdem Danke für deinen Hinweis.

Uli

Gesendet von iPhone mit Tapatalk

Hat eine Liste die Attribute „add“: true und „delete“: true, dann habe ich ja die entsprechenden Symbole am Ende einer Zeile, bzw. ganz rechts.

Wenn eine Zeile jetzt sehr lang ist, muss ich immer erst bis ganz nach rechts scrollen.

Besteht die Möglichkeit die „Symbole“ ganz links, also an den Anfang einer Zeile zu setzen?

Alternativ könnte ich ja selber ein Icon in einer Spalte erstellen, mir fehlt aber dann irgendwie der Befehl für „Listenelement bearbeiten“…

Habe ich etwas übersehen?

Uli

Eigentlich ist es gar nicht vorgesehen, dass die Liste aus dem Bild rausgeht. Möglich ist es allerdings ja sehr wohl. Aber da würde ich sonst erst einmal schauen. Wenn deine Liste so breit ist, dann solltest du das vielleicht ein wenig optimieren. Vielleicht kannst du ja manche Spalten unsichtbar schalten, so dass sie nur beim Editieren mit aufgelistet werden, aber keinen Platz als Spalte verbrauchen?

Die Position würde ich ungerne ändern, da in der Konsole „Hinzufügen“ durchgehend unten rechts ist. Das an einer einzelnen Stelle ändern wäre unglücklich und global würde ich das auch nur mit einem verdammt guten Grund anfassen wollen.