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.
Warenkorb auf Anfrage
Beim Checkout als "Anfrage" wird kein verbindlicher Kauf ausgelöst. Stattdessen kann der Kunde einen Warenkorb als Produkt-/Preis-/Verfügbarkeitsanfrage absenden. Die Anfrage wird im System als eigener Prozess geführt: Nach dem Versand der Anfrage kann ein Admin sie beantworten (z. B. mit Angebot oder Rückfrage) und anschließend abschließen.
Optional lässt sich hier auf Anfrage ein Folgeprozess implementieren: etwa die Konvertierung in eine Bestellung oder die Erstellung eines Angebots als PDF. Sprich uns gerne an!
stateDiagram-v2
[*] --> prepared : Kunde stellt Warenkorb zusammen\nund wählt „Anfrage“
prepared --> requested : Anfrage abgesendet\nBestätigungsmail optional
requested --> answered : Admin beantwortet Anfrage\n(Angebot / Rückfrage)
answered --> processed : Anfrage abgeschlossen
%% Optionaler Folgeprozess (kein Statuswechsel!)
note right of answered
Optionales Feature kann auf
Anfrage implementiert werden:
- Anfrage kann in Bestellung konvertieren
- Anfrage in Angebots-PDF konvertieren
end note
TypoScript Konfiguration
plugin.tx_shop.settings.basketOrder {
orderOptions {
request {
active = {$themes.configuration.extension.shop.checkout.request.active}
attachProductFilesToAdminEmail = {$themes.configuration.extension.shop.checkout.request.attachProductFilesToAdminEmail}
attachProductFilesToCustomerEmail = {$themes.configuration.extension.shop.checkout.request.attachProductFilesToCustomerEmail}
attachInvoiceToAdminEmail = {$themes.configuration.extension.shop.checkout.request.attachInvoiceToAdminEmail}
attachInvoiceToCustomerEmail = {$themes.configuration.extension.shop.checkout.request.attachInvoiceToCustomerEmail}
attachDeliveryNoteToAdminEmail = {$themes.configuration.extension.shop.checkout.request.attachDeliveryNoteToAdminEmail}
attachDeliveryNoteToCustomerEmail = {$themes.configuration.extension.shop.checkout.request.attachDeliveryNoteToCustomerEmail}
attachOrderXmlToAdminEmail = {$themes.configuration.extension.shop.checkout.request.attachOrderXmlToAdminEmail}
storeOrderXmlInFolder = {$themes.configuration.extension.shop.checkout.request.storeOrderXmlInFolder}
storeOrderXmlInFolderName = {$themes.configuration.extension.shop.checkout.request.storeOrderXmlInFolderName}
type = request
checkoutPid = {$themes.configuration.pages.shop.checkout}
successPid = {$themes.configuration.pages.shop.checkoutSuccess}
errorPid = {$themes.configuration.pages.shop.checkoutError}
service = CodingMs\Shop\Service\Checkout\RequestCheckoutService
button {
title = tx_shop_label.request_button_title
label = tx_shop_label.request_button_label
icon = fa fa-shopping-cart
}
fields {
available = {$themes.configuration.extension.shop.checkout.request.fields.available}
required = {$themes.configuration.extension.shop.checkout.request.fields.required}
}
status {
prepared {
allowed {
requested =
}
}
requested {
allowed {
answered =
}
}
answered {
allowed {
processed =
}
}
processed {
# End, but "allowed" must be defined!
allowed =
}
}
email {
customerConfirmation {
active = {$themes.configuration.extension.shop.checkout.request.email.customerConfirmation.active}
from {
name = {$themes.configuration.extension.shop.email.from.name}
email = {$themes.configuration.extension.shop.email.from.email}
}
to {
# Customer address data
}
template = {$themes.configuration.extension.shop.email.templates.request.customerConfirmation}
}
order {
active = {$themes.configuration.extension.shop.checkout.request.email.order.active}
from {
name = {$themes.configuration.extension.shop.email.from.name}
email = {$themes.configuration.extension.shop.email.from.email}
}
to {
name = {$themes.configuration.extension.shop.email.to.name}
email = {$themes.configuration.extension.shop.email.to.email}
}
template = {$themes.configuration.extension.shop.email.templates.request.request}
}
}
}
}
}
