web analytics
Zum Inhalt springen

Adresszusatz und Firmenname im Gambio csv-Export für GLS

Wer in Gamio das Export-Modul für GLS oder Hermes nutzt, dem wird aufgefallen sein: Die zusätzliche Adresszeile oder der Firmenname wird nicht exportiert. Und da es in dem Modul auch keine Einstellmöglichkeiten gibt, lässt sich daran auch zunächst erstmal nichts ändern. Ziemlich blöde, sind doch beides ziemlich wichtige Informationen, ohne die so manches Paket nicht ankommen wird.

Scheinbar ist das schon seit längerem ein Problem, wie dieser Foren-Beitrag von 2012 beweist: https://www.gambio.de/forum/threads/versandadresse-exportieren.6321/. Ich muss ehrlich sagen, dass ich nicht verstehe, wie das überhaupt sein kann. Wie eine solche Kleinigkeit 6 Jahre später immer noch genau so im Shop-System auftaucht, und ein ohnehin schon spartanisches Modul im Grunde unbrauchbar macht.

Egal. Denn die Lösung ist ganz einfach (zumindest für GLS) und besteht aus drei Zeilen Code. Der Firmenname wird bei der Datenbankabfrage bereits gelesen, aber nicht in die .csv geschrieben. Der Adresszusatz wird bisher gar nicht aus der Datenbank gelesen.

In der Datei /admin/includes/modules/gm_export/gls.php muss nur eine Änderung an zwei Stellen vorgenommen werden.

Ab Zeile 51 beginnt die Datenbankabfrage. Hier werden die Felder der Tabelle „orders“ abgefragt. Wie man sieht, delivery_company taucht auf:

		$orders_query = "SELECT orders_id,
								customers_id, 
								customers_telephone,
								customers_email_address,
								delivery_name,  		
								delivery_firstname, 
								delivery_lastname, 
								delivery_company, 
								delivery_street_address,

hier habe ich nach delivery_street_address und vor delivery_suburb die folgende Zeile eingefügt:

delivery_additional_info, 

Jetzt müssen die zwei bisher fehlenden Werte delivery_company und delivery_additional_info aber auch wirklich bei dem erzeugen der .csv-Datei geschrieben werden. Das passiert ab Zeile 101:

$schema_entry = $customers['orders_id'] . ";" .
							" " . ";" .
							$customers['shipping_class'] . ";" .
							" " . ";" .
							$customers['payment_method'] . ";" .
							" " . ";" .
							" " . ";" .
							$customers['delivery_name'] . ";" .
							$customers['delivery_street_address'] . " " . $customers['delivery_suburb'] . ";" .

Im Grunde ist es egal, wo man die Werte ausgibt. Da es aber bei GLS drei Zeilen für den Namen gibt, fand ich es sinnvoll, die zusätzlichen Werte auch direkt unter dem Namen des Empfängers auszugeben. Also so:

$schema_entry = $customers['orders_id'] . ";" .
							" " . ";" .
							$customers['shipping_class'] . ";" .
							" " . ";" .
							$customers['payment_method'] . ";" .
							" " . ";" .
							" " . ";" .
							$customers['delivery_name'] . ";" .
							$customers['delivery_company'] . ";" .				// added
							$customers['delivery_additional_info'] . ";" . // added 
							$customers['delivery_street_address'] . " " . $customers['delivery_suburb'] . ";" .

Das wars im Grunde schon, die fehlenden Werte tauchen nun ebenso in der Export-Datei auf.

Jetzt muss man nur noch den Import anpassen, wo auch immer dieser geschieht. Ich nutze die Versandvorbereitung in YourGLS, dort legt man sich ein Profil für den Gambio-Export an und definiert in welcher Spalte was steht. Hier kann ich jetzt Spalte 9 und 10 für Name 2 und Name 3 eintragen. Alle folgenden Spaltennummern erhöhen sich wegen der zwei zusätzlichen Spalten um 2:

Das ganze Spiel funktioniert für den Hermes-Export ähnlich. Ich weiß nicht wie flexibel der Import bei Hermes ist, vielleicht müsste man sich mehr darum kümmern, dass die zusätzlichen Werte auch an der richtigen Stelle ausgegeben werden. Aber solange der Importer einen Adresszusatz verarbeiten kann, kann man mit dem oben dargestellten Verfahren mit Sicherheit eine Datei erzeugen, die die Informationen entsprechend enthält.

Ich hoffe, dass ich jemandem damit helfen konnte. Vielleicht überarbeiten die Leute von Gambio den Export mal grundsätzlich, ich hätte da jetzt schon ein paar Wünsche :-).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.