Änderungen an DB/Datenmodell: abspeichern der Kundendaten erleichtern

Hallo,

Ich beschäftige mich mit B2B, wo es oft vorkommt dass Kunden eher durch Firmennamen + Lieferaddresse definiert sind als Anrede + Vorname + Name + Straße usw. 

mein Ziel: das System rund um Kundendaten mittels plugin so zu ändern, dass ich nicht notwendig die Anrede, Namen und Sonstiges benötige, um einen Kunden zu speichern/ändern.

was ich schon weiß:

  • ich muss die backend view in customer/address.js in meinem Plugin überschreiben (wo nötig allowBlank : true), eventuell auch backend models/controller modifizieren 

  • in der DB Tabelle s_user_addresses wo nötig NULL zulassen

  • Sachen im Frontend oder Dokumentenerstellung die diese Felder benutzen berücksichtigen und je nach Bedarf anpassen

Ich möchte ja die Finger von default Dateien lassen, aber ich sehe keinen Weg vorbei an die änderung der eigenschaften der DB Tabelle. Die Struktur der DB ist aber durch das Doctrine-Model (Customer/Address.php) definiert. Jetzt weiß ich nicht ob dieses ModeLl meine modifizierte DB Tabelle bei jedem Start? Update? Aufruf wieder zurücksetzen wird. Meine Fragen wären also ob mir das ganze System um die Ohren fliegen wird, wenn ich NULL als Eintrag für z.B. die Andrede eines Kunden zulasse, und wann das Address Doctrine-Model Einfluss auf die DB hat und die neuen Eigenschaften meiner Tabelle überschreiben kann.

Viele Grüße, vielen Dank.

Mein Tipp: Schreibe in die Felder Vorname und Nachname einfach einen Bindestrich „-“.
Das Feld Anrede setzt du einfach immer pauschal auf „mr“ oder „mrs“ und blendest es im Frontend aus.
Ansonsten kracht es ständig, Shopware validiert diese Felder an verschiedenen Stellen (PersonalFormValidator, Model Validator,…) da wird man nicht glücklich.
Auch können andere Plugins sich darauf verlassen, dass es diese Felder gibt. Wenn du es so lässt wie es ist, bist du kompatibel. Auch bei Shopware Updates, die davon ausgehen, dass ein Feld auf NOT NULL steht, kann es dann krachen. Es könnte passieren, dass du keine Updates mehr einspielen kannst. Also Finger weg von der Datenbank :wink:

Viele Grüße

1 Like

simkli

vielen Dank für diese Antwort. Ich dachte eigentlich schon dass ich das durchziehen könnte. Jetzt spart es mir die Zeit die ich gebraucht hätte um herauszufinden dass es nicht so einfach ist. Finde es auch schade solche Workarounds nutzen zu müssen, ich habe einige ähnliche Forumsbeiträge gesehen und es wurde sogar ein Ticket erstellt um Name/Vorname nicht pflichtig für einen Kunden zu machen (Firmenaddresse), das aber schon in 2016! Ich sollte also davon ausgehen, dass das Shopware Team schon mit (nach dem Ticketsystem) wichtigeren Problemen beschäftigt ist. Es bleibt mir nichts anderes üblich als im Ticket zu voten, ich hoffe dass Leser mit dem selben Problem dies auch tun, und zwar hier: https://issues.shopware.com/#/issues/SW-16185

Viele Grüße. 

Ich habe mal gevotet…

Was ist nun damit? Um DSGVO konform zu sein, wird eventuell benötigt mindestens den Vornamen optional zu machen (Gebot der Datensparsamkeit). Wenn zusätzlich die Anrede und Nachname optional gesetzt werden könnte, umso besser.

Hallo,

hört doch endlich mal mit so einem DSGVO-Bödsinn auf. Um mit jemanden einen gültigen Vertrag zu schließen (und ein Verkauf im Webshop ist nichts anderes) benötigt man eine ladungsfähige Anschrift (kein Postfach, keine Packstation) inkl. vollständigem Namen.

Letztlich wird sonst wieder behauptet, dass der kleine Sohn oder die Tochter bestellt hätte.

1 Like