Lieferadresse = Shopadresse bei Selbstabholung

Würde gern im 2. Schritt des Bestellprozesses bei dem Opt Feld “Liederadresse=Rechnungsadresse” ein weiteres hinzufügen “Lieferadresse=Selbstabholung”, wobei mit dieser Bedingung automatisch die hinterlegte Shop-Betreiber Adresse übernommen wird.

Shopversion: 6.1.0
PHP: 7.0

Besten Dank im voraus für eure Unterstützung!

/edit: Eine Idee zumindest für die Versand-Email:

Das könnte man im Template lösen (ob jetzt im Child-Theme oder als Modul mit Block).

Unter /Application/views/flow/tpl/email/plain ist das Template ordershipped.tpl. (Beachten: Es gibt auch die html-Version, die muss ebenfalls entsprechend geändert werden.)

Darin befindet sich dieser Block:

[{block name="email_plain_ordershipped_address"}]
[{if $order->oxorder__oxdellname->value }]
    [{ $order->oxorder__oxdelcompany->getRawValue() }]
    [{ $order->oxorder__oxdelfname->getRawValue() }] [{ $order->oxorder__oxdellname->getRawValue() }]
    [{ $order->oxorder__oxdelstreet->getRawValue() }] [{ $order->oxorder__oxdelstreetnr->value }]
    [{ $order->oxorder__oxdelstateid->value }]
    [{ $order->oxorder__oxdelzip->value }] [{ $order->oxorder__oxdelcity->getRawValue() }]
[{else}]
    [{ $order->oxorder__oxbillcompany->getRawValue() }]
    [{ $order->oxorder__oxbillfname->getRawValue() }] [{ $order->oxorder__oxbilllname->getRawValue() }]
    [{ $order->oxorder__oxbillstreet->getRawValue() }] [{ $order->oxorder__oxbillstreetnr->value }]
    [{ $order->oxorder__oxbillstateid->value }]
    [{ $order->oxorder__oxbillzip->value }] [{ $order->oxorder__oxbillcity->getRawValue() }]
[{/if}]
[{/block}]

Diesen könnte man folgendermaßen modifizieren:

[{if $order->oxorder__oxdeltype->value == 'OXID_DER_SELBSTABHOLUNG'}]
    Musterversand Mustermann
    Musterstraße 13
    12345 Musterhausen
[{ else }]
    [{if $order->oxorder__oxdellname->value }]
        [{ $order->oxorder__oxdelcompany->getRawValue() }]
        [{ $order->oxorder__oxdelfname->getRawValue() }] [{ $order->oxorder__oxdellname->getRawValue() }]
        [{ $order->oxorder__oxdeladdinfo->getRawValue() }]
        [{ $order->oxorder__oxdelstreet->getRawValue() }] [{ $order->oxorder__oxdelstreetnr->value }]
        [{ $order->oxorder__oxdelstateid->value }]
        [{ $order->oxorder__oxdelzip->value }] [{ $order->oxorder__oxdelcity->getRawValue() }]
    [{else}]
        [{ $order->oxorder__oxbillcompany->getRawValue() }]
        [{ $order->oxorder__oxbillfname->getRawValue() }] [{ $order->oxorder__oxbilllname->getRawValue() }]
        [{ $order->oxorder__oxbilladdinfo->getRawValue() }]
        [{ $order->oxorder__oxbillstreet->getRawValue() }] [{ $order->oxorder__oxbillstreetnr->value }]
        [{ $order->oxorder__oxbillstateid->value }]
        [{ $order->oxorder__oxbillzip->value }] [{ $order->oxorder__oxbillcity->getRawValue() }]
    [{/if}]
[{/if}]

Was ich jetzt nachschauen müsste, wäre, ob die oxid von Selbstabholung bei jedem Shop die gleiche ist (eine default oxid).

Außerdem müsste man ja noch von irgendwo die Shop-Postadresse herholen können, dann muss man sie nicht hard-coded da rein schreiben.

Aber mal so als Einstiegspunkt schnell runter getippt. :slight_smile:

Geht es darum, dass…

  1. die Abholadresse rein informativ dem Kunden angezeigt wird (damit er weiß, wo er hin soll),
  2. oder soll die Adresse wirklich in der Bestellung hinterlegt werden (wegen ERP, Geschäftsprozesse, damit die Lagermitarbeiter nicht versehentlich versenden, etc),
  3. oder ist es gewollt, dass der Kunde bei Selbstabholung keine ALA angeben kann?

Es könnte verwirrend und extra langwierig für einen Kunden sein, im 2. Bestellschritt - obwohl er schon weiß, dass er die Ware im Geschäft abholen wird - die Adresse des Stores ausfüllen zu müssen. Ansonsten hat er nur die Wahl mit Klick “Rechnungsadresse = Lieferadresse”. Wird dann zwar in den weiteren Schritten ignoriert, bis er dann zuletzt im Bestellvorgang seine eigene Lieferadresse hat, obwohl er bei Versand dann Selbstabholung gewählt hat. Zuletzt sieht er dann eine falsche Lieferadresse (die er ignorieren kann oder nachträglich editierr). Möchte es halt simple and stupid halten…

Danke, werde mal ausprobieren!!!