Bitte beachte, dass sich diese Dokumentation auf die neuste Version dieser Erweiterung bezieht. Wenn eine ältere Version eingesetzt wird, kann diese abweichen. Die jeweils passende Dokumentation befindet sich im Dokumentation-Verzeichnis der Erweiterung.
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
undavailable
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!