Strasse und Hausnummer trennen...

Hallo,

ich hab für die Strasse 1 Feld und muss nun für einen export diese trennen.

  1. Idee, ich zerlege und zähle wieviel strings ich habe. Für z.B. Strengelbacherstrasse, 14 

{assign var=”strasse-nr” value=” ”|explode:$shippingStreet}
{if {@count($myArray)} == 2}
{$strasse-nr[0]}
{/if}

Hätte ich dann den Namen und in {$strasse-nr[1]} die Nummer. 

Aber bei: Oberes Estrichfeld 5 - oder bei Oberes Estrichfeld Str. 5 - müsste ich die mögliche Anzahl berücksichtigen und den letzen Wert des Arrays als Hausnummer annehmen.

Gibt es denn da nichts einfacheres ? Mit regulären Ausdrücken z.b. nach der Nummer suchen und im einen Fall diese trennen und im anderen alles davor nehmen ?

Hat jemand ne idee :slight_smile:

Danke!

Das könnte vielleicht helfen:

https://github.com/plentymarkets/plentymarkets-shopware-connector/blob/master/Adapter/PlentymarketsAdapter/RequestGenerator/Order/Address/AddressRequestGenerator.php

 

Das ist der Shopware Plentymarkets Connector. Der bedient sich an der Bibliothek von VISION… schau dir das mal an.

 

Grüße

marc

Du hast offensichtlich die gleiche Mail von DPD bekommen wie ich heute :wink: wollte hier gerade meinen alten Beitrag dazu raussuchen…Vor 3 Jahren musste ich alles mühsam zusammenfügen, jetzt solls getrennt werden.

Bei Straße und Hausnummer gibt es da ja noch ein ganz anderes Problem. In einigen Ländern ist die Hausnummer vorne: 42 rue principal z.B.

Falls ich richtig liege und es sich bei dir auch um die Exportdatei für dpdmybusiness handelt, würde mich interessieren, ob bei dir der Nachnahmebetrag übertragen wird. Hab ich bis heute nicht hinbekommen.

Hallo Toric,

ja genau - diese MAIL ist der Grund :smiley:

Aber das zusammenfügen war/wäre ja einfach. Bei Namen ( VOR und Nachname ) hat man in der Konvertierung ja lediglich die beiden Variablen :

$shippingFirstName $shippingLastName

angeben müssen. Das Trennen wie ab 09.10 gefordert - ist wesentlich aufwändiger :-/

Dein Beispiel spricht auch eher dafür, mittels regulärer Ausdrücke die ZAHL zu suchen und zu separieren. weil dann ist egal wo sie steht. Wenn man dann ab und an einen Fehler bekommt, muss man es eben von Hand korriegieren. Es geht ja um die 95% der Adrresse die man nun abdecken muss.

Ich hoffe es muss auch noch einer lösen, der sich da besser auskennt und kreativer ist - als ich :slight_smile:


Nachnahmebetrag: den hab ich nicht, da ich nicht per Nachname versende - sorry.

Also ich habs jetzt eben mal soweit eingerichtet.

Bei Anrede habe ich von mr und ms in Herr/Frau konvertiert.

Hausnummer hab mit dem Inhalt Straße angelegt, weil leer nicht möglich. Wenn bis nächste Woche keine Lösung da ist, muss ich von Hand ran.

Ich hatte mal eine Anleitung, wie man in excel PLZ und Ort in zwei Felder trennt. Brauchte ich seinerzeit für den Kundenimport zu Shopware. Da wurde glaube ich von vorne gelesen und das erste Leerfeld gesucht. Müsste bei der Hausnummer dann hinten anfangen. (Vielleicht auch bei deinem ersten Vorschlag eine Idee, ich verstehe da nur Bahnhof :slight_smile: ) In die Richtung suche ich auf jeden Fall mal weiter. Blöd wird dann, wenn jemand Hauptstraße 44 c schreibt.

Nachnahme hab ich 3x im Jahr, da trage ich den Betrag manuell in die csv ein - vergesse es aber gerne auch mal :frowning: Ich bräuchte quasi die Formel für : wenn Zahlart Nachname, dann Rechnungssumme eintragen.

Also ich hab jetzt ein Makro für Excel gestrickt, da muss ich am Ende nur eine Spalte löschen. Ist schon mal besser als gar nichts. Den Code für das Löschen der Spalte bekomm ich nicht an die Richtige Stelle platziert, dass es funktionieren würde. Wenn du dich da etwas auskennst, kann ich den Code schicken. Ich kann ich natürlich auch so senden, dann musst du die Spalte am Ende eben auch löschen :wink:

@Toric schrieb:

ann ich den Code schicken. Ich kann ich natürlich auch so senden, dann musst du die Spalte am Ende eben auch löschen :wink:

Danke - ich hoffe ja noch, das es mir mit etwas Hilfe auf der Shop Seite gelingt. In der Konvertierung des Export Modules, da wäre es am elegantesten. Sollte das nicht gelingen komme ich gerne auf dein Angebot zurück.

In der Konvertierung die Haus Nr finden und entfernen - ist schon mal gelungen:

{$shippingStreet|regex_replace:"/[0-9]+/":""}

Aber nun hab ich 2 Probleme:

1) preg_match() ist nicht erlaubt - um nur die Nummer zu finden und auszugeben.

  1. selbst wenn, kann ich den Wert von $shippingStreet nur 1x für den gesamten Export Konvertieren und nicht Felderweise. 

Daher, bräuchte ich auf die 2 Fragen Hilfe:

a) kann ich die Felder abfragen

b) wie kann ich in Smarty ein Muster finden und den Treffer ausgeben ?

Danke