ich bin neu hier und auch neu in der Modulentwicklung für Oxid.
Ich möchte mich so nach und nach einarbeiten und fange daher klein an.
Mein erste Modul sollte dem Backend ein neues Feld “Lagerort” im Artikelstamm “Lager” hinzufügen.
Das Feld wird auch angezeigt und verschwindet beim deaktivieren wieder. Der dort eingegebene Wert wird aber nicht gespeichert.
Das Datenbankfeld lege ich über das “onActivate” Event an. Das funktioniert auch. Was mir auffällt: Die anderen DB Felder sind alle komplett groß geschrieben, meines nicht. Liegt hier vll. das Problem, dass ich es falsch anlegen lasse?
Ich denke für euch Profis ist das kein Problem herauszufinden woran das liegt und ich verbuche es für mich einfach unter Startschwierigkeiten.
Herzliche Grüße
Chris
Hier meine Dateien samt Inhalt:
Hi und danke für deine Rückmeldung.
Ich habe das geprüft, das Feld ist angelegt.
Die views habe ich ebenfalls über das Backend aktualisiert. Ich sehe aber auch via phpmyadmin, dass das Feld in der Tabelle nicht gefüllt ist, entsprechend kann nach meinem Verständnis auch in der View nichts ankommen.
Muss ich irgendwo ein explizites “commit” eintragen?
Auszug aus phpmyadmin:
Das Feld selbst kommt in der View schon an, nur es ist eben leer.
Logs geprüft? Tmp geleert?
Versuch es mal manuell zu befüllen, wenn der Inhalt dann angezeigt wird, dann scheitert es beim Speichern schon.
Welche Logs muss ich prüfen? Im log Verzeichnis finde ich nur eine “EXCEPTION_LOG.txt”. Dort ist der letzte Eintrag allerdings vom 10.06.2017 (Installationszeitpunkt).
es gäbe noch den webserver error log, öffne mal im Backend Service -> Systeminfo und such dort nach “error_log”, rechts daneben wird der Pfad der Log Datei stehen.
Bei einigen Hostern sind logs im Hosting Interface verfügbar und einige anderen haben es standardmäßig ausgeschaltet.
Ich sende euch nachher einen Screenshot aus den Entwicklertools des Browsers. Meiner Ansicht nach ist das Feld zumindest im richtigen form-Element.
Die Formatierung ist im richtigen Code so wie von dir beschrieben. Ich musste das nur zum posten hier anpassen, da das Forum sonst nichts anzeigt.
Ich kämpfe allgemein mit dem Hochladen von Dateien und Code hier aber daran werd ich mich noch gewöhnen. Ich werde die Dateien gleich mal als txt Dateien so wie du extern hochladen, dann kannst du gerne nochmal nach Formatfehlern suchen.
Manchmal sieht man ja exakt solche Kleinigkeiten erst auf den zweiten Blick.
Ich habe heute eine weitere Idee gehabt: Schön wäre es, dieses Feld auch in die Packliste aufzunehmen.
Ich habe dazu bereits Beiträge gefunden, allerdings wurde immer auf ein Modul eines Users verwiesen, das mir auf den ersten Blick überladen dafür scheint.
Das Feld wird ja nicht in die Tabelle oxorderarticles übernommen. Das erscheint mir auch prinzipiell nicht notwendig um doppelte Datenhaltung zu vermeiden.
Eine Referenz auf die oxarticles finde ich aber auch nicht.
Nach meiner Recherche müsste ich aber über die Funktion _getOrderArticle auf die Artikelstammdaten zugreifen können.
Derzeit fehlt mir aber ein bisschen der Ansatz dafür.
Vermutlich muss dazu in der order_package.tpl eine weitere Abfrage mit rein.
Ich habe $articles vom Typ oxorderticles. Dort müsste ich ja die Funktion zur Verfügung haben. Die Funktion _getOrderArticle gibt mir laut Doku ja ein Element vom Typ oxarticle zurück.
Wie komme ich von da aus weiter und wie kann ich den Inhalt im Template ausgeben?
Die Frage war, wie er order_package.tpl anpassen muss. Wenn Du Zeit hast, dann baue Graschi doch was Hübsches: Sicher kann man über ein Modul order_package ersetzen, _getArticles(); erweitern und [{ $article->oxarticles__cstlocation->value }] direkt abrufen