Smarty - Straße und Hausnummer trennen Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Smarty - Straße und Hausnummer trennen Problem

    Hallo Leute!

    undszwar weiß ich leider nicht mehr weiter.. ich habe mir am Wochenende ein Exportscript für DHL gebaut. Jedoch habe ich 2 Probleme mit dem Straßensplit script:

    1. Straße und Hausnummer werden nicht getrennt wenn kein Leerzeichen zw. Hausnummer und Straße vorhanden ist.

    2. Das Script hackt Straßennamen ab. Aus "Auf dem Daasberg 35" wurde beispielsweise "Auf dem Daasbe" 35

    Das Script ist in 3 Bereiche eingeteilt:

    1. Der bereits vorhandene Straßensplit Block
    2. Die Umwandlung von Ländernamen in die ISO Codes
    3. Die Exportfelder

    Code:
    {* strip sorgt dafür das wir keine Leerzeichen vorne und hinten haben *} 
    {strip} 
     
       
    {* Für jede Bestellung *} 
    {foreach from=$orders item=order} 
     
    {* Die Hausnummer von der Strasse zu trennen ist aufwendig *} 
    {assign var="strassensplit" value=" "|explode:$order.order_del_street} 
     
    {if $strassensplit|@count>0} 
    {assign var="hausnummer" value=$strassensplit[$strassensplit|@count-1]} 
    {assign var="hlength" value=$hausnummer|count_characters} 
    {else} 
    {assign var="hausnummer" value=""} 
    {/if} 
     
    {if $strassensplit|@count>0}  
    {assign var="str" value=$order.order_del_street} 
    {assign var="strlength" value=$str|count_characters} 
    {assign var="strasseallein" value=$str|substr:0:($strlength-$hlength)} 
    {else} 
    {assign var="strasseallein" value=$order.order_del_street} 
    {/if} 
    {* Geschafft *} 
     
    {* Land noch umwandeln *} 
    {assign var="countryiso" value=$order.order_del_country} 
    {if $order.order_del_country == "Deutschland"}{assign var="countryiso" value="DE"}{/if} 
    {if $order.order_del_country == "Germany"}{assign var="countryiso" value="DE"}{/if} 
    {if $order.order_del_country == "Österreich"}{assign var="countryiso" value="AT"}{/if} 
    {if $order.order_del_country == "Austria"}{assign var="countryiso" value="AT"}{/if} 
    {if $order.order_del_country == "Schweiz"}{assign var="countryiso" value="CH"}{/if} 
    {if $order.order_del_country == "Switzerland"}{assign var="countryiso" value="CH"}{/if} 
    {if $order.order_del_country == "Slowenien"}{assign var="countryiso" value="SI"}{/if} 
    {if $order.order_del_country == "Spanien"}{assign var="countryiso" value="ES"}{/if} 
    {if $order.order_del_country == "Portugal"}{assign var="countryiso" value="PT"}{/if} 
    {if $order.order_del_country == "Frankreich"}{assign var="countryiso" value="FR"}{/if} 
    {if $order.order_del_country == "Luxemburg"}{assign var="countryiso" value="LU"}{/if} 
    {if $order.order_del_country == "Belgien"}{assign var="countryiso" value="BE"}{/if} 
    {if $order.order_del_country == "Dänemark"}{assign var="countryiso" value="DK"}{/if} 
    {if $order.order_del_country == "Niederlande"}{assign var="countryiso" value="NL"}{/if} 
    {if $order.order_del_country == "Italien"}{assign var="countryiso" value="IT"}{/if} 
    {if $order.order_del_country == "Griechenland"}{assign var="countryiso" value="GR"}{/if} 
     
    {* INTRASHIP Auftragsimport  *} 
     
    | 
    {* 1 HIER MÜSSTE EINE NUMMERIERUNG DER ZEILEN REIN*}{$order.order_id}| 
    U| 
    | 
    {* 2 Firmenname *}{$order.order_del_fname}| 
    {* 3 Firmenname 2 *}{$order.order_del_lname}| 
    {* 4 Firmenname 3 *}{$order.order_del_company}| 
    {* 5 Zusatz *}{$order.order_del_addstreet}| 
    {* 6 Strasse *}{$strasseallein}| 
    {* 7 Hausnummer x *}{$hausnummer}| 
    {* 8 Adresse 2 *}| 
    {* 9 Adresse 3 *}| 
    {* 10 PLZ *}{$order.order_del_zip}| 
    {* 11 Stadt *}{$order.order_del_city}| 
    {* 12 Land *}{$countryiso}| 
    | 
    {* 13 Telefon *}| 
    {* 14 Fax *}| 
    {* 15 Email *}{$order.order_bill_email}| 
    {* 16 UST Nummer *}| 
    | 
    {* 17 Matchcode - Rechnungsnummer *}{$order.order_rnr}| 
    {* 18 Kundennummer *}{$order.order_customernumber}| 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    {* 19 Kundehandynr. *}| 
    {* 20 Adresse3 *}| 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    | 
    {$tag_r}{$tag_n} 
    {/foreach} 
     
    {/strip}
    Ich hoffe ihr könnt mir da helfen..

    Janina

  • #2
    Api

    Hallo Janina,

    wir haben eine API welche Adressen im Internet überprüft, korrigiert und das ergebnis in einzelnen Werten wieder zurückgibt.
    Als Showcase haben wir ein Excel Add-In damit gebaut. Aber das ganze gibt es auch als API.

    Excel Showcase Video: https://www.youtube.com/channel/UCc7idkk33JeaU__zt9oosnA/videos
    Developer Registrierung: https://methis.at/products/api/
    API-Doku: https://hercules.methis.at/

    Beste Grüße aus Salzburg

    Kommentar

    Lädt...
    X