Hey Leute, ich schreibe aktuell ein ganz simples Plugin um eine Bemerkung im Warenkorb zu speichern. Die Bemerkung soll im Checkout gespeichert werden. Mit fiel auf, dass es im WK keine customFields gibt, für eine Bestellung gibt es allerdings customFields. Wie es aus dem WK in die Bestellung übertragen wird, steht erstmal aus. Ich möchte nun, dass meine Bemerkung in der Warenkorb-Session gespeichert wird. Dazu habe ich folgendes geschrieben:
public function notice(Cart $cart, RequestDataBag $requestDataBag, SalesChannelContext $salesChannelContext): Response
{
$notice = $requestDataBag->get('notice');
// Möglichkeit 1
$cartData = $cart->getData();
$cartData->set('notice', $notice);
$cart->setData($cartData);
// Möglichkeit 2
$cart->addExtension('moorlOrderUpload', new ArrayEntity(['notice' => $notice]));
//dump($cart); exit;
$this->addFlash('success', "Bemerkung wurde gespeichert.");
return $this->redirectToRoute('frontend.checkout.confirm.page');
}
Wenn ich mir den Warenkorb im dump ausgebe, sind die gewünschten Daten verfügbar:
Nach dem Redirect zum Checkout sind dei Daten aber auch wieder weg, habe zwei Möglichkeiten probiert, jedoch kann ich mir nicht erklären woran das liegen könnte:
Hat hier jemand eine Idee oder einen Anhaltspunkt wieso es nicht funktioniert? VG