Intelligente Adressbearbeitung

Ich habe mich in den letzten Tagen mit einer einfacheren Adresseingabe unter Verwendung einer Datenbank mit fast 900.000 weltweiten(!) Postleitzahlen mit Städten und Verwaltungseinheiten (Bundesländer/Kantone usw.) Das sind Open Source-Daten, die von http://www.geonames.org/ erstellt und gepflegt werden. (Die Daten sind sogar geocodiert, so dass man eine gute Basis für Umkreissuche u.ä. hat.) In diesem Formular kann man das ausprobieren: http://www.powertemplate.de/kunden/mode … t,register, was bisher daraus geworden ist… Bei der Adresseingabe geschieht nun folgendes: Beim Start wird das Land auf das aktuelle Land des Besuchers eingestellt (was Shopware standardmäßig nicht tut), und die Bundesländer/Kantone dieses Landes aus der Datenbank geladen (ebenso beim Wechsel eines Landes). Für die Länder DE, AT und CH wird eine deutsche, andernfalls eine englische Länderliste verwendet (auch bei dynamischem Wechsel in einer schon geladenen Seite!), die Bundesländer/Kantone werden ((per AJAX aus der Datenbank) in der jeweiligen Landessprache angezeigt. Bei Eingabe einer PLZ (und verlassen des Eingabefeldes) wird dann (per AJAX) in der DB geprüft, ob es dafür einen oder mehrere Orte gibt. Gibt es nur einen Ort, wird dieser direkt in das „Ort“-Feld geschrieben. Andernfalls werden die zu dieser PLZ gehörenden Orte in einem Dropdown zur Auswahl angeboten, und nach Auswahl aus dem Dropdown wird der gewählte Ort wieder in das „Ort“-Feld übernommen. In beiden Fällen wird auch das Bundesland/Kanton der PLZ im Bundesländer/Kantone-Dropdown ausgewählt. (Shopware verwendet zwar, im Gegensatz zu z.B. Gambio, das Bundesland/Kanton nicht, aber das macht sich dennoch ganz gut, um die Möglichkeiten zu zeigen, und es kann ja aus der PLZ der Kundenadresse immer ermittelt werden. Und irgendwann wird das sicher auch notwendige, um z.B. die Steuern in den USA-Ländern zu berechnen.) Bei dieser Gelegenheit habe ich auch gleich die Shopware Länder-Tabelle („s_core_countries“) vervollständigt, so dass sie nun alle Länder der Erde enthält. Der entsprechende DB-Tabellen-Dump kann von http://www.powertemplate.de/kunden/shop … ext.sql.gz geladen, und ([color=red]auf eigene Gefahr![/color]) in seine DB eingespielt werden. http://www.geonames.org/ bietet auch einen Webservice zum Abruf dieser Daten an, auf dessen Basis ich das verfahren auch implementiert habe. Vorteil: man braucht keine Datenbankpflege zu betreiben. Nachteil: Um die Daten verlässlich zu bekommen muss man wohl eine kostenpflichtige Variante des Service wählen. Das kostenlose Volumen reicht nicht allzu weit.

Hey Avenger, tolle Sache. Gefällt mir! Bei deinem geposteten Link funktioniert es bei mir aber nicht! Ich gebe eine deutsche PLZ ein, springe mit TAB weiter und sehe kurz das er arbeitet aber es wird kein Ort angezeigt. FF 6.0.2 unter Ubuntu

[quote=“ottscho”]Hey Avenger, tolle Sache. Gefällt mir! Bei deinem geposteten Link funktioniert es bei mir aber nicht! Ich gebe eine deutsche PLZ ein, springe mit TAB weiter und sehe kurz das er arbeitet aber es wird kein Ort angezeigt. FF 6.0.2 unter Ubuntu[/quote] Welche PLZ?

[quote=„avenger“][quote=„ottscho“]Hey Avenger, tolle Sache. Gefällt mir! Bei deinem geposteten Link funktioniert es bei mir aber nicht! Ich gebe eine deutsche PLZ ein, springe mit TAB weiter und sehe kurz das er arbeitet aber es wird kein Ort angezeigt. FF 6.0.2 unter Ubuntu[/quote] Welche PLZ?[/quote] 78050, 78141

[quote=“ottscho”][quote=“avenger”][quote=“ottscho”]Hey Avenger, tolle Sache. Gefällt mir! Bei deinem geposteten Link funktioniert es bei mir aber nicht! Ich gebe eine deutsche PLZ ein, springe mit TAB weiter und sehe kurz das er arbeitet aber es wird kein Ort angezeigt. FF 6.0.2 unter Ubuntu[/quote] Welche PLZ?[/quote] 78050, 78141[/quote] So, jetzt aber… Bei den PLZn mit nur einer Stadt hatte sich auf den letzten Drücker noch ein Bug’chen eingeschlichen…

Super gute Arbeit :thumbup:, so macht es ja die Warenwirtschaft von uns auch. Finde ich aber Klasse dass dies nun auch in Shopware relisiert werden kann.

[quote=“avenger”]Ich habe mich in den letzten Tagen mit einer einfacheren Adresseingabe unter Verwendung einer Datenbank mit fast 900.000 weltweiten(!) Postleitzahlen mit Städten und Verwaltungseinheiten (Bundesländer/Kantone usw.) Das sind Open Source-Daten, die von http://www.geonames.org/ erstellt und gepflegt werden. (Die Daten sind sogar geocodiert, so dass man eine gute Basis für Umkreissuche u.ä. hat.)[/quote] Es ist echt schade, dass die notwendigen Daten der Post so teuer sind, weil man das sonst noch um eine Stufe weiter treiben kann: Bei Eingabe der PLZ kann dann nämlich nicht nur der Ort, sondern auch die zugehörigen Straßen als Dropdown angeboten werden… Beispiel hier: http://www.powertemplate.de/kunden/tuni … ccount.php Für 1200 €/Jahr ist man dabei…

Servus, habe es auch gerade getestet, ist ja wirklich super :thumbup: Meiner Meinung nach ist die Ermittlung des Ortes vollkommen ausreichend… Gruß Balu

[quote=“Balu”]Meiner Meinung nach ist die Ermittlung des Ortes vollkommen ausreichend…[/quote] Der Vorteil der Straßenvorgabe ist, dass man dann einen wirklich konsistenten Adressbestand erreicht. Keine Tippfehler mehr…

Achso klar daran habe ich nicht gedacht, da hast du natürlich Recht. Ich kenne das ganze ja von Easylog wenn ich Pakete manuell erfasse, da wird die Strasse auch immer angezeigt… gibt es nicht vielleicht einen Weg über diese Schnittstelle an die Strassendaten zu gelangen, weil 1200 Euro pro Jahr ist ja wirklich heftig :shock:

[quote=“Balu”]gibt es nicht vielleicht einen Weg über diese Schnittstelle an die Strassendaten zu gelangen, weil 1200 Euro pro Jahr ist ja wirklich heftig :shock:[/quote] Technisch schon, aber lizenzrechtlich nicht… :thumbdown: Die Daten dafür werden wesentlich günstiger angeboten.

Servus, funzt wirklich einwandfrei, coole Sache :thumbup:

Könnte man das Dopdown mit dem Eingabefeld irgendwie kombinieren? Ich finde es optisch durch die zwei Felder etwas schwierig. Zumindest wird es den ein oder anderen Kunden verwirren.

[quote=„ottscho“]Könnte man das Dopdown mit dem Eingabefeld irgendwie kombinieren? Ich finde es optisch durch die zwei Felder etwas schwierig. Zumindest wird es den ein oder anderen Kunden verwirren.[/quote] Technisch ja, von der Sache her eher nicht… Da durchaus die Daten Lücken haben können, muss man die manuelle Eingabemöglichkeit beibehalten. Evtl. könnte man das Dropdown durch ein DIV ersetzen, und direkt unter das Eingabefeld hängen… Das hätte den zusätzlichen Vorteil, dass man das auch gleich öffnen könnte, so dass die Funktionsweise klarer ist. Muss ich mal drüber nachdenken…

Hallo zusammen, kurze Frage. Ist es ohne großen Aufwand möglich, lediglich die Ländervorauswahl auf das korrekte Land einzustellen? Also quasi nur ein Bruchteil des Ganzen? Wenn ja: wie? Danke und Gruß, Marco

Hi, bist Du grad am basteln? Bei http://www.powertemplate.de/kunden/mode … t,register kommt bei mir nach Eingabe der PLZ 30989 nur [quote]SQLSTATE[28000] [1045] Access denied for user ‘root’@‘localhost’ (using password: NO)[/quote] und hinter Bundesland steht von Anfang an nur [quote]Access denied for user ‘root’@‘localhost’ (using password: NO)[/quote]