Loading...
Skip navigation
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!

Contact request

You can contact us at any time

Stop! Playing in the meantime?
Stop! Playing in the meantime?
Stop! Playing in the meantime?

Stop! Playing in the meantime?

Break the highscore

Press Start
Contact request
Screenreader label
Security question
2O9_________1A4______
I______X____3_W___THW
9SJ___2SP___LA8______
__3____4______B___PIG
I4M_________DKT______