Ich habe die oxarticles-Tabelle um ein Feld “bmauswahl” erweitert. Das ist eine Checkbox, die in der Tabelle als tinyint(1) angelegt ist. Ich habe den Code im Template (admin/article_variant.tpl) und das Feld in der Tabelle analog zu oxactive angelegt, nur der Name unterscheidet sich. Habe natürlich auch die Views neu generiert und Cache gelöscht etc.
Das Problem ist, daß das Feld nur gespeichert wird, wenn die Checkbox aktiviert ist (Wert 1). Wenn ich sie deaktiviere, wird es nicht gespeichert und es bleibt “1” bestehen.
Das Problem scheint nur Checkboxen zu betreffen. Stringfelder funktionieren korrekt.
Mir ist aufgefallen, daß beim Speichern der Varianten das Feld nur dann übergeben wird, wenn es den Wert “1” hat. Ist der Wert “0”, fehlt das Feld im Array. Fehlende Felder werden offensichtlich irgendwo in den Tiefen des Systems “automatisch” auf 0 gesetzt. Es hat den Anschein, daß das nur mit den OXID-eigenen Feldern (wie oxactive) passiert, nicht aber mit hinzugefügten Feldern.
Das Problem besteht unabhängig vom default-Wert des tinyint-Feldes in der Tabelle. Ich habe beide Möglichkeiten probiert.
Ich hatte denselben Code in OXID 4.7.8, dort hat er funktioniert. Jetzt aber, mit 4.10.4, tritt das Problem auf.
Wäre für einen Tip, wie ich das lösen kann, dankbar.