Hey,
ich bin dabei ein früheres Modul, welches für CE entwickelt wurde für EE kompatibel zu machen. Im Checkout gibt es einen Bereich, welcher einen Ajax request auslöst. Beim Aufruf des scripts wird eine neue Session erstellt. Problem hierbei ist, der User wird dadurch wieder ausgeloggt. Außerdem habe ich Daten wie die ShopID in der Session gespeichert(für interne Prozesse von Relevanz), welche mir daraufhin auch verloren gehen. Somit ist ein Abschluss des Checkouts nicht möglich.
Ich habe versucht die Session ID, welche vor dem Aufruf erzeugt wird durchzuschleifen und nach dem request wieder als Session ID zu setzen. Das hat so an sich auch funktioniert nur leider greift er hier die alte Session anhand der alten Session ID nicht wieder auf.
Auch am Anfang der Seite die vom Ajax requested wird, den Aufruf session_start() auszuführen um die Session wieder aufzugreifen hat nicht funktioniert. Hierbei wird immer versucht eine neue Session zu erzeugen was letztendlich zu der Meldung führt das bereits eine Session aktiv ist und der Befehl ignoriert wird.
Was zu dem ganzen noch zu sagen ist dieses Szenario tritt nur auf, wenn ich in der config.inc.php die Funktion $this->blForceSessionStart = true setze. Wenn diese auf false steht dann komme ich ohne Probleme durch den Checkout.
Hat jemand eine Idee wie ich die “verloren” gegangene Session wieder aufgreifen kann? Oder vielleicht einen anderen Lösungsansatz das mir die Daten nicht verloren gehen?
Vielen Dank schon mal allen die sich die Mühe machen und den Kopf darüber zerbrechen