Hallo liebe Community,
so langsam verzweifle ich das eigentlich einfachen Aufgabe:
vorhanden sind die Benutzer-OXIDs sowie die von ihnen jeweils gewünschten Artikel-OXIDs (jeweils die Variante wenn zutreffend). Die Zuordnungen sind in eigenen Datenbanktabellen gespeichert.
Zu einem bestimmten Zeitpunkt sollen die Artikel in die Warenkörbe der Benutzer wandern, damit die Letzteren den gewohnten Checkout-Prozess durchlaufen können. Dies muss für die bereits eingeloggten und ausgeloggten Benutzer geschehen, sowie für den Benutzer, der die letzte benötigte Aktion ausgelöst hat (ein Sonderfall, der nicht unbedingt berücksichtigt werden soll).
Das momentane Problem besteht darin, dass die Benutzer sich zunächst aus- und sich erneut einloggen müssen, um die Artikel in ihren Warenkörben vorfinden zu können.
Hier die betroffene Stelle im Quellcode. Die Daten aus der DB sind in dem assoziativen Array $row gespeichert.
$oUser = oxNew( 'oxuser');
$oUser->load( $row['uid'] );
$oBasket = $oUser->getBasket('savedbasket');
$oBasket->addItemToBasket( $row['variante'], $row['amount'] );
// den Warenkorb des aktiven Benutzers laden
try {
if ( $oBasket = oxSession::getInstance()->getSession()->getBasket() ) {
$oBasket->load();
echo 'basket loaded';
}
} catch ( Exception $oE ) {
echo 'excception caught';
}
Hat jemand zufällig Ideen, wo das Problem entsteht und wie man es lösen könnte?
Alle von mir kontaktierten OXID-Agenturen haben erst nächste Woche Zeit, es wäre aber recht zeitkritisch. Daher könnte ich mir vorstellen, dass man mir gerne für die Lösung eine Rechnung ausstellen darf
Vielen Dank im Voraus!