ich habe für ein Modul eine neue Spalte in der Tabelle “oxarticles” eingefügt und mit einem Standardwert versehen. Dieser wird unter getTableDescription( ‘oxarticles’ ) aufgeführt, in der Methode oxarticle::load existiert das Feld aber nicht. Muss ich die Spalte noch an anderer Stelle “vorstellen”?
ich habe für ein Modul eine neue Spalte in der Tabelle “oxarticles” eingefügt und mit einem Standardwert versehen. Dieser wird unter getTableDescription( ‘oxarticles’ ) aufgeführt, in der Methode oxarticle::load existiert das Feld aber nicht. Muss ich die Spalte noch an anderer Stelle “vorstellen”?
Vielen Dank im Voraus.
Beste Grüße,
Björn[/QUOTE]
Hallo Björn,
nach Datenbankänderungen zwingend den TMP-Ordner leeren. Bei Dir vermute ich aber, daß Lazy Loading das Feld unterdrückt. Wenn Du das über die Standardfunktion einfach verwendest, wird es dann zur Laufzeit gefüllt.
danke fürs Feedback. Dann muss ich mir das Thema Lazy Loading näher ansehen, denn weder im Back- noch im Frontend wird der Standardwert übernommen. Ich habe mir vorübergehend damit geholfen, dass ich oxarticle::load übschreibe, um den Wert zu setzen, aber das kann ja nicht im Sinne des Erfinders sein.
Edit sagt: Wenn der Wert einmal über das Backend gesetzt ist, wird er auch korrekt übernommen. Lazy Loading funktioniert also “as designed”. Nur der Standardwert aus der Tabelle nicht.
sorry fürs Pushen, aber ich komme hier nicht weiter :o. Wie bereits geschildert wird der von mir hinzugefügte Wert aus der Tabelle per Lazy Loading einwandfrei geladen, [B]wenn er einmal gesetzt wurde[/B]. Der Standardwert der Spalte jedoch nicht. Was könnte ich übersehen haben?
Hast du denn mal nachgesehen ob eine oxid standard tabelle mit diesen mysql default werten arbeitet? Ich möchte fast behaupten dass der Wert in der Klasse gesetzt werden muss und nicht in der Datenbank, also quasi der Standardwert der Variable im Modul. Das sind aber alles nur Vermutungen, wie gesagt sieh mal nach ob das an anderer Stelle irgendwo benutzt wird.
danke für Deine Antwort. Ich vermute, dass Du recht hast. In der Tabelle oxarticles ist z. B. der Standard Wert ‘1’ für die Spalte oxactive gesetzt. Ein neu angelegter Artikel ist aber standardmäßig nicht aktiv. Dann setze ich den Wert halt in meinem Modul.