CVars: bei Gültigkeitswechsel aktuellen Wert nicht speichern
Wenn man in den Artikelstammdaten eine CVar von ungültig auf gültig umschaltet, so ist in dem Moment die CVar-Input im Formular nicht enthalten, sondern nur die Gültigkeits-Checkbox. Wenn dann im Backend der aktuelle Wert der CVar in die DB gespeichert wird, weil die CVar ja ab dem Moment gültig ist, so ist der Wert dementsprechend leer bzw. 0 für numerische Typen.
Der Effekt ist, dass beim nächsten Laden der CVar ein Wert in der DB steht (leer/0), und dass dieser Wert vorausgewählt ist und nicht der Standardwert aus der Konfiguration.
Daher sorgt diese Änderung dafür, dass in so einem Fall der aktuelle CVar-Wert schlicht gar nicht in die DB geschrieben wird. Genauer:
Wenn das Speichern der Gültigkeit gewünscht wird, so wird der Wert nur dann geschrieben, wenn die CVar sowohl vor dem Speichern als auch nach dem Speichern gültig ist, sie also weder gerade aktiviert noch gerade deaktiviert wird. Andernfalls wird die CVar in der DB nicht vorhanden sein.
CVars: bei Gültigkeitswechsel aktuellen Wert nicht speichern
Wenn man in den Artikelstammdaten eine CVar von ungültig auf gültig
umschaltet, so ist in dem Moment die CVar-Input im Formular nicht
enthalten, sondern nur die Gültigkeits-Checkbox. Wenn dann im Backend
der aktuelle Wert der CVar in die DB gespeichert wird, weil die CVar
ja ab dem Moment gültig ist, so ist der Wert dementsprechend leer
bzw. 0 für numerische Typen.
Der Effekt ist, dass beim nächsten Laden der CVar ein Wert in der DB
steht (leer/0), und dass dieser Wert vorausgewählt ist und nicht der
Standardwert aus der Konfiguration.
Daher sorgt diese Änderung dafür, dass in so einem Fall der aktuelle
CVar-Wert schlicht gar nicht in die DB geschrieben wird. Genauer:
Wenn das Speichern der Gültigkeit gewünscht wird, so wird der Wert nur
dann geschrieben, wenn die CVar sowohl vor dem Speichern als auch nach
dem Speichern gültig ist, sie also weder gerade aktiviert noch gerade
deaktiviert wird. Andernfalls wird die CVar in der DB nicht vorhanden
sein.