Modify

Opened 10 years ago

Last modified 8 years ago

#604 accepted Neues Feature

Getrenntes speichern von Straße und Hausnummer

Reported by: Ines Willenbrock <ines@…> 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 voodoopupp, 10 years ago

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!)

comment:2 by Torsten Riemer, 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 ines@…, 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.

comment:4 by Ronald Parcinski, 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 Ronald Parcinski, 10 years ago

Component: AdminShop
Owner: changed from somebody to Ronald Parcinski
Status: newaccepted

in reply to:  4 comment:6 by Torsten Riemer, 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 voodoopupp, 10 years ago

keine Ahnung, aber schaut euch doch mal das hier dazu an. Vielleicht ist das ja hilfreich:
ANLEITUNG: Hausnummer in separates Feld für Shopversion 1.06

Version 2, edited 10 years ago by Torsten Riemer (previous) (next) (diff)

comment:8 by Torsten Riemer, 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.

Last edited 10 years ago by Torsten Riemer (previous) (diff)

comment:9 by Ronald Parcinski, 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 Torsten Riemer, 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 voodoopupp, 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 Torsten Riemer, 10 years ago

Hier ein weiterer Ansatz von noRiddle, der OHNE separates Feld auskommt: ANLEITUNG: Adressfeld (Strasse) auf Hausnummer überprüfen

Last edited 10 years ago by Torsten Riemer (previous) (diff)

comment:13 by Ronald Parcinski, 9 years ago

Last edited 9 years ago by Torsten Riemer (previous) (diff)

comment:14 by Torsten Riemer, 8 years ago

Milestone: modified-shop-2.1.0.0

Modify Ticket

Action
as accepted The owner will remain Ronald Parcinski.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.