Skip to main navigation Skip to main content Skip to page footer

Abweichende Lieferadresse

Compatibility:

Seit der EXT:shop Version 2.2.0 gibt es eine Möglichkeit im Checkout-Formular eine optionale abweichende Lieferadresse anzugeben.

Konfiguration

Um diese Funktion zu aktivieren, müssen folgende TypoScript Variablen überschrieben werden:

plugin.tx_shop.settings.basketOrder.onInvoice.fields {
    available = deliveryAddressEnabled, deliveryAddressCompany, deliveryAddressFirstname, deliveryAddressLastname, deliveryAddressStreet, deliveryAddressPostalCode, deliveryAddressCity
    required = deliveryAddressCompany, deliveryAddressFirstname, deliveryAddressLastname, deliveryAddressStreet, deliveryAddressPostalCode, deliveryAddressCity
}

Dabei ist das vordefinierte Feld deliveryAddressEnabled eine Checkbox. Falls diese Checkbox beim Absenden des Formulars gesetzt ist, werden die in der plugin.tx_shop.settings.basketOrder.onInvoice.fields.required Variable aufgeführten Felder validiert. Falls das nicht der Fall ist, werden die Felder als optionale Felder behandelt.

Vordefinierte Felder und Felddefinition

Die Adressenfelder deliveryAddressCompany, deliveryAddressFirstname, deliveryAddressLastname, deliveryAddressStreet, deliveryAddressPostalCode und deliveryAddressCity sind vordefiniert.

Es lassen sich aber auch eigene Felder definieren in dem man folgende TypoScript Variablen ergänzt:

plugin.tx_shop.settings.basketOrder.fieldDefinition {
    deliveryAddressHouseNumber {
        label = Hausnummer
        type = input
        eval = trim
        deliveryAddress = 1
        placeholder = Hausnummer
        errors {
            isEmpty = Bitte geben Sie Ihre Hausnummer ein
        }
    }
}

Das Flag deliveryAddress = 1 sorgt dafür, dass das Feld wie eine abweichende Lieferadresse behandelt und nur bei Bedarf validiert wird.

Adressauswahl basierend auf Frontend-Benutzeradressen

Kompatibilität:

Erfordert Shop-Version 4.8.0-4.99.99 oder Version 5.1.0 oder höher

Die Erweiterung EXT:modules bietet die Möglichkeit, als Frontend-Benutzer verschiedene Adressen zu verwalten. Diese können im Checkout ausgewählt werden, sofern ein Frontend-Benutzer angemeldet ist.

Um diese Adressauswahl zu nutzen, muss das Feld deliveryAddresses nach dem Feld deliveryAddressEnabled, aber vor allen anderen deliveryAddress…-Feldern definiert werden. Die Definition von deliveryAddresses lautet:

plugin.tx_shop.settings.basketOrder.fieldDefinition {
    deliveryAddresses {
        label = Address
        type = address
        eval = trim
        deliveryAddress = 1
        errors {
            isEmpty = Please choose your delivery address
        }
    }
}

Achtung:

Bitte achte darauf, dass die Einstellung deliveryAddresses in beiden Knoten, required und available konfiguriert ist! Andernfalls wird der Checkout wegen eines nicht gefundenen Landes fehlschlagen.

Die Konfiguration für eine Vorauszahlungskasse könnte folgendermaßen aussehen:

themes.configuration.extension.shop.checkout.prePayment.fields {
    available = firstname, lastname, email, deliveryAddressEnabled, deliveryAddresses, deliveryAddressCompany, deliveryAddressFirstname, deliveryAddressLastname, deliveryAddressStreet, deliveryAddressHouseNumber, deliveryAddressPostalCode, deliveryAddressCity, deliveryAddressCountry
    required = firstname, lastname, email, deliveryAddresses, deliveryAddressFirstname, deliveryAddressLastname, deliveryAddressStreet, deliveryAddressHouseNumber, deliveryAddressPostalCode, deliveryAddressCity, deliveryAddressCountry, createFrontendUser
}

Achtung:

Bitte achte darauf, dass die neu eingeführte Einstellung fetchFrom in der Felddefinition konfiguriert ist, welche das Mapping der Adressfelder definiert!

Warenkorb 0 Produkte