unterhalb der AGB’s um eine checkbox erweitert (im gleichen Formular).
Wie kann ich nun in meinem Subscriber eine Prüfung vornehmen, ob die zusätzliche Checkbox angehakt ist bzw. wie komme ich an den value? Kommt das Event
dafür überhaupt infrage? Mein Subscriber sieht (reduziert auf das Wesentliche) derzeit so aus:
'onPostDispatchCheckoutConfirm'
];
}
public function onPostDispatchCheckoutConfirm(\Enlight_Event_EventArgs $args)
{
$checkoutConfirmController = $args->getSubject();
//... hier die Prüfung
}
Vermutlich muss ich noch auf die Session zugreifen, oder?
Beim Installieren meines Plugins wird eine neue Spalte in
s\_user\_attributes
angelegt. Ist die Checkbox aktiviert möchte ich dort einen Wert speichern. Könnt ihr mir dazu noch ein paar helfende Stichpunkte geben (finishAction / saveOrder)?
du solltest dich erst einmal fragen, ob eine serverseitige Validierung und Speicherung wirklich die beste Variante ist, da Sie PayPal und andere Zahlungsarten nicht abdecken wird, da diese ja auf Ihre eigenen Zahlungsseiten automatisch weiterleiten. Ein Beispielplugin wäre dieses hier: https://github.com/marcmanusch/PaulCheckoutSurvey oder das https://gist.github.com/sthamann/5343247 .
danke für deinen Hinweis, den Einwand verstehe ich ehrlich gesagt nicht. Meine Checkbox berührt die Zahlungsarten doch garnicht…?!
Die beiden Beispiel-Plugins hatte ich mir bereits angesehen, haben mein Verständnis allerdings nicht weitergebracht.
Hintergrund für die Checkbox ist, daß der Kunde bestimmte Informationen zusätzlich auf seiner Rechnung hinterlegt haben möchte. Die anschliessende Speicherung dient dazu, diese Information für spätere Bestellungen fest zu hinterlegen. Die Checkbox wird dann bei jedem Bestellvorgang angezeigt und ist, je nach Wunsch, bereits gecheckt oder eben nicht (je nachdem, was in der s_user_attributes steht - 0 oder 1). Damit einhergehend stehen einige Berechnungen an.
Und nein - ich möchte das hier bereits öfter vorgeschlagene Plugin nicht kaufen, sondern meine Idee aus lerntechnischen Gründen selbst umsetzen.
Letztendlich möchte ich zunächst nur den Wert der Checbox abfragen.
Könnt ihr mir also noch andere Hinweise geben bitte?
deine Checkbox soll doch aber, wie du es ja oben sagst, beim Checkout - Controller gespeichert werden. PayPal und andere Zahlungsarten leiten diesen Vorgang dann aber automatisch auf Ihre Bezahlseiten weiter, somit hakt jemand deine Checkbox an, klick Zahlungspflichtig bestellen, wird zu PayPal weitergeleitet, seine angehakte Checkbox wird in diesem Fall aber dann nicht gespeichert.
danke für deinen Hinweis! Ich habe das Problem verstanden. Leider bin ich in einer VM unterwegs und habe demzufolge keine Zahlungs-Plugins installiert.
Deine Links haben leider auch nicht weitergeholfen, aber dieser Beitrag. Darin wird das Event
das muss man glaub ich nicht verstehen, warum man in einer VM keine Zahlungsplugins installiert haben kann, das hat doch überhaupt nichts miteinander zu tun, da kann man genauso Zahlungsanbieter - Plugins nutzen.
Wie oben ja schon deutlich 2x geschrieben: da die meisten Zahlungsanbieter statt zur Finish - Seite zu Ihrer eigenen Payment - Wall weiterleiten, wirst du auch mit diesem Event diese logischerweise nicht abdecken können, da wahrscheinlich bei der Payment - Wall a) der Session - Fokus verlorengegangen sein wird und b) das Speichern nicht ausgeführt wird, da Sie eigene Buttons implementieren. Mit dem Plugin aber wahrscheinlich schon: https://github.com/marcmanusch/PaulCheckoutSurvey .