Opened 10 years ago
Last modified 8 years ago
#604 accepted Neues Feature
Getrenntes speichern von Straße und Hausnummer
| Reported by: | Owned by: | Ronald Parcinski | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Shop | Version: | 2.0.1.0 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Es wäre schön, wenn die Datenbank und das Backend darauf vorbereitet werden könnten, Hausnummer und Straße getrennt zu speichern.
Es scheint so zu sein, dass zum Beispiel Intraship es scheinbar bevorzugt, die Daten getrennt zu bekommen und die Anbindung um einiges einfacher wäre, wenn der Shop diese schon getrennt speichern würde.
Ja, es ist mir bewußt, dass das eine Änderung des Datenbankschemas ist und auch dass es dann Probleme mit der Datenübernahme von bestehendenden Systemen gibt.
Ja, es ist mir auch bewußt, dass ein Lösungsvorschlag für die Umsetzung der unterschiedlichsten Adresseingabeschemen fehlt - vor allem, wenn man international versenden will.
Attachments (0)
Change History (14)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
Um es nicht für externe Schnittstellen & Dienste zu verkomplizieren könnte man die Felder für Strasse & Hausnummer trennen, beide Felder abfragen und eine Fehlermeldung ausgeben, wenn keine Eingabe erfolgte und beide Felder dann in der Datenbank wieder in ein Feld hintereinander schreiben. Somit gäbe es keinerlei Probleme mit extern angebundenen Schnittstellen & Diensten, die das Feld für die Hausnummer ja nicht kennen.
comment:3 by , 10 years ago
Man könnte auch die Daten in der Datenbank in 2 Felder schreiben, um zum Beispiel den Händler beim editieren der Daten einer neuen Bestellung nicht zu verwirren und dann für die jeweiligen Exporter/Schnittstellen jeweils zusammen oder getrennt angeben.
Ich denke da auch grade an solche interessanten Dinge wie das UK Adressformat, das dürfte auch interessant werden.
Mir persönlich wäre trotz aller Probleme getrennt in der Datenbank lieber.
follow-up: 6 comment:4 by , 10 years ago
siehe auch Ticket #732
Getrennte Eingabe und speichern in ein Feld ist kein großes Problem
$street_address .= (isset($street_address_no) && strlen($street_address_no) > 0 ? ' ' . $street_address_no : '');
Damit man das aber für die Editiermasken wieder auftrennen kann muss man die Hausnummer auch in ein separates DB Feld street_address_no speichern. Ansonsten bekommt das nicht wieder auseinandergedröselt.
Beim Auslesen für die Editiermasken muss man aus street_address die street_address_no entfernen (am einfachsten mit rtrim()) und beide in die ja getrennten Eingabefelder laden.
Die Frage ist wie komfortabel das alles gemacht werden soll?
Schalter im Backend für separate Hausnummer bei den Kundendetails?
Und/oder Eintrag bei den Minimum Werten (z.B. bei 0 erscheint das neue Feld erst gar nicht)
comment:5 by , 10 years ago
| Component: | Admin → Shop |
|---|---|
| Owner: | changed from to |
| Status: | new → accepted |
comment:6 by , 10 years ago
Replying to web28:
[...]
Damit man das aber für die Editiermasken wieder auftrennen kann muss man die Hausnummer auch in ein separates DB Feld street_address_no speichern. Ansonsten bekommt das nicht wieder auseinandergedröselt.
Beim Auslesen für die Editiermasken muss man aus street_address die street_address_no entfernen (am einfachsten mit rtrim()) und beide in die ja getrennten Eingabefelder laden.
[...]
Das ist so nicht richtig. Gerhard hat genau dafür einen sehr komplexen Regex, der genau das schafft und eine äußerst hohe Trefferquote hat!
comment:7 by , 10 years ago
keine Ahnung, aber schaut euch doch mal das hier dazu an. Vielleicht ist das ja hilfreich.
Ab diesem Beitrag bis Ende: Hausnummer in separates Feld / v1.06
comment:8 by , 10 years ago
Die Anleitung ist schön und richtig, aber erfasst eben leider auch überhaupt nicht das große Problem bei der Sache. Geht man dieser Anleitung nach, dann hat man sich mit einem Schlag allen möglichen Modulen ausgesperrt, die dieses zusätzliche Feld für die Hausnummer eben nicht kennen. Der Regex von Gerhard hat hier einfach den Vorteil, dass man mit den bisherigen Datenbank-Feldern auskommt.
comment:9 by , 10 years ago
Bei meinem Vorschlag wird auch nicht geändert, es muss nur ein weiteres Datenbankfeld hinzugefügt werden.
Damit sind dann alle möglichen Eingabemöglichkeiten abgedeckt, nicht nur eine hohe Anzahl
Speichern:
Strassenname und Hsnr werden aus 2 separaten Inputs in das bisherige DB Feld gespeichert.
Als Trennzeichen wird ein Leerstring hinzugefügt.
Die Hsnr wird zusätzlich in einem neuen DB Feld gespeichert
Auslesen:
Um den reinen Strassennamen zu bekommen reicht jetzt ein einfacher Strassenname = rtrim(Strassenname,' '.Hsnr)
Damit wird aus Strassenname der Leerstring '_' und die Hsnr am Ende entfernt und man kann damit ein separates Eingabefeld vorbelegen.
Die Hsnr hat man sowieso einzeln.
Wichtig ist das man das überall machen muss wo der Kunden Adressen eingeben kann.
Kundenkonto anlegen
Gastkonto anlegen
Adressbearbeitung im Kundenkonto
Versandadresse anlegen/ändern
Rechnungsadresse anlegen/ändern
Und die notwendigen Änderungen im Backend darf man auch nicht vergessen
Kundenkonto
Bestellbearbeitung
comment:10 by , 10 years ago
Du möchtest die Hausnummer also nur noch zusätzlich in ein eigenes Datenbank-Feld speichern?
Am besten besprichst du das mal mit Gerhard, wie wir das zukünftig umsetzen.
comment:11 by , 10 years ago
Das Wichtigste ist die getrennte Abfrage im Frontend. Denn alleine damit könnte man schon Sonderfälle wie "Straßen des 17. Juni" abfangen.
Diese Art der Abfrage haben eigentlich alle großen Shops.
Wie es am besten gelöst wird, ist nicht unbedingt die Frage. Eher, wie ihr eine vernünftige Lösung hinbekommst, die schnell umsetzbar ist und euch nicht wieder 4 Wochen im Zeitplan nach hinten wirft.
Denn was wirklich extrem wichtig ist: die 2.0 muss jetzt dann wirklich mal rauskommen. Da stecken so viele gute Dinge drin, die genutzt werden wollen. Und auch auf Fehler getestet werden können müssen. Und dafür musst ihr die wichtigsten Bausteine fertig stellen und dann raus damit ;)
comment:12 by , 10 years ago
Hier ein weiterer Ansatz von noRiddle, der OHNE separates Feld auskommt: ANLEITUNG: Adressfeld (Strasse) auf Hausnummer überprüfen
comment:13 by , 9 years ago
Diskussion im Expertenforum: Felder für Strasse, Hausnummer trennen in create_*_account
comment:14 by , 8 years ago
| Milestone: | modified-shop-2.1.0.0 |
|---|

Wäre ich ebenfalls stark dafür - könnte auch dann auch geprüft werden, ob eine Hausnummer eingegeben wurde. Damit werden unnötige Retouren vermieden
(bei uns sind 99% der nicht zustellbaren Bestellungen aufgrund fehlender Hausnummern!)