Please note that this documentation is for the most recent version of this extension. It may not be relevant for older versions. Related documentation can be found in the documentation directory of the extension.
Alternative delivery address
Compatibility:
From EXT:shop version 2.2.0 upwards a different delivery address can be entered in the checkout form.
Configuration
To activate this function, the following TypoScript variables need to be overwritten:
plugin.tx_shop.settings.basketOrder.onInvoice.fields {
available = deliveryAddressEnabled, deliveryAddressCompany, deliveryAddressFirstname, deliveryAddressLastname, deliveryAddressStreet, deliveryAddressPostalCode, deliveryAddressCity
required = deliveryAddressCompany, deliveryAddressFirstname, deliveryAddressLastname, deliveryAddressStreet, deliveryAddressPostalCode, deliveryAddressCity
}
The TypoScript predefined field deliveryAddressEnabled
is a checkbox. If this checkbox is set, the fields listed in the plugin.tx_shop.settings.basketOrder.onInvoice.fields.required
variable will be validated when the form is submitted. If not, the fields are treated as optional fields.
Predefined fields and field definitions
The deliveryAddressCompany
, deliveryAddressFirstname
, deliveryAddressLastname
, deliveryAddressStreet
, deliveryAddressPostalCode
and deliveryAddressCity
fields are predefined.
You can also define your own fields by adding TypoScript variables as follows:
plugin.tx_shop.settings.basketOrder.fieldDefinition {
deliveryAddressHouseNumber {
label = house number
type = input
eval = trim
deliveryAddress = 1
placeholder = house number
errors {
isEmpty = Please enter your house number
}
}
}
The deliveryAddress = 1
flag ensures that the field is treated as an alternative delivery address and is only validated if needed.
Address selection base on frontend-user addresses
Compatibility:
Requires shop version 4.8.0-4.99.99 or version 5.1.0 or higher
The EXT:modules extension provides the possibility, to manage different addresses as a frontend-user. This addresses can be selected during checkout, if a frontend-user is logged-in.
In order to use this address-selection, you need to define the field deliveryAddresses
after the deliveryAddressEnabled
field, but before all the other deliveryAddress…
fields. The deliveryAddresses
is defined like:
plugin.tx_shop.settings.basketOrder.fieldDefinition {
deliveryAddresses {
label = Address
type = address
eval = trim
deliveryAddress = 1
errors {
isEmpty = Please choose your delivery address
}
}
}
The configuration for a pre-payment checkout could look like:
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
}
Warning:
Please keep care you have the newly introduced
fetchFrom
setting in your field-definition configured!