In der Liste de sKonfigurationsformulares habe ich merkwüdiges Verhalten festgestellt.
Rufe ich die Liste via
$arrString = $this->ReadPropertyString(„PropDevices“);
$arr = json_decode($arrString);
ab, dann werden Änderungen in der form.json nicht direkt zum Abruf übernommen. Ich muss erst das Modul löschen und neu im Objektbaum einfügen. Dies betrifft neue Spalten, als auch gelöschte Spalten. Für leere Spalten, die später eingefügt werden, die im Modul mit Leben gefüllt werden sollen via GetConfigurationForm() kommen dort gar nicht an. Die Abfrage des json Arrays via var_dump zeigt die Inhalte gar nicht erst an. Ich habe die Version 7.1. Ist da ein Bug vorhanden? Ist da etwas bekannt?
Da ist aktuell nichts bekannt. Magst du einmal ausholen, wann du genau die Daten abholst und was du vorher gemacht hast? Prinzipiell wird die Eigenschaft natürlich nicht durch eine Anpassung des Formulars aktualisiert. Sprich, übernimmst du Änderungen in deinem Modul und überarbeitest danach die Liste, steht in der Eigenschaft weiterhin der Wert auf Basis des vorherigen Formulars. Das ist so das erwartete Verhalten. Die Eigenschaft wird erst dann erneut gesetzt, wenn du wieder die Eigenschaften übernimmst.
Alternativ (glaube ab 7.1) die Migrate Methode überschreiben und dort fehlende Spalten in der Eigenschaft ersetzen.
Michael
Hallo,
noch eine Rückmeldung hierzu. Ich hatte ein Array falsch nummiert. Das war teilweise kopierter Code aus den Testmodulen, wo ich die Reihenfolgenummierung der Formularelemente nicht sauber einegtragen hatte. Danke nochmals an Dr. Niels.