Hallo,
ich habe die Frage bereits im Internationalen Forum gestellt - probiere es aber auch hier, da ich denke, dass nicht alle auch das Internationale Forum lesen.
Ich habe ein Modul geschrieben “unter” oxShopControl:
class MyModule extends oxShopControl
und suche von dort aus eine Methode oder Möglichkeit die Artikeldetails wie Name, Anzahl, Preis, Gesamtpreis usw. der Artikel die momentan im Warenkorb sind auszulesen. Ich habe dies mit
oxSession::getInstance()->getBasket();
versucht, bekomme auch die benötigten Informationen, kann aber nicht auf diese zugreifen, da sie ja “protected” sind. Gibt es eine Möglichkeit aus der .php-Datei meines Modules auf diese Informationen zuzugreifen ohne an anderen Dateien der Oxid-Installationen etwas ändern oder einfügen zu müssen?
Vielen Dank!
Gruß,
kRuzeFiX
$basket = oxSession::getInstance()->getBasket();
$oBasket = $basket->getContents();
foreach ( $oBasket as $oBasketItem ) {
$oBasketItem->getProductId();
//usw.
}
vielen Dank für die Antwort - super! 
Nun noch eine Frage, wenn ich nun auf der thankyou - Seite bin, wird der Basket ja gelöscht, bzw zurückgesetzt und eine Order wurde erzeugt.
Ich würde die selben Informationen auf der thankyou - Seite benötigen wie auf jeder anderen beliebigen Seite auch - versuche das nun über
Thankyou::getBasket()
bzw.
Thankyou:getOrder()
bin ich hier auf dem richtigen Weg? Momentan funktioniert es noch nicht, da ich plötzlich sofort weitergeleitet werde und die thankyou seite nichtmehr sehe. Kann mir jemand weiterhelfen?
Vielen Dank
EDIT:
Da ich ja über
oxSession::getInstance()->getBasket();
nun keine Informationen/Daten mehr erhalten muss es ja eine Möglichkeit geben das Order Object aufzurufen, oder?
Also ich komme irgendwie mit dem Oxid-System noch nicht so ganz klar. Ich brauche konkret auf der “thankyou” - Seite die soeben aus den Artikeln im Warenkorb erstellte Transaktionsnummer, die Transaktionswährung sowie alle Artikelinformationen der Transaktion.
Die Transaktionswährung erhalte ich ja über die globale Config und die Artikel der Bestellung könnte ich mir vorab auch per:
$basket = oxSession::getInstance()->getBasket();
$oBasket = $basket->getContents();
in die Session laden und auf der “thankyou” aus der Session wieder abrufen, dann würde mir aber nachwievor die Transaktionsnummer/TransaktionsId fehlen - und es wäre auch nur eine mit der Hand am Arm-Lösung.
Es muss doch eine Möglichkeit geben auf die Transaktion/Order als Objekt direkt zuzugreifen - hat mir jemand den entscheidenden Tipp?
Lösung gefunden - werde sie posten, wenn ausgefeilt.
Hallo kRuzeFIX
Sitze gerade an einem ähnlichen Problem. Ich benötige in einem Modul welches die thankyou-Klasse erweitert die OrderId und das OrderDate. Wie hast Du das umgesetzt?
Grüße
Johannes
Ich bin nun scheinbar der Dritte, der an diesem Problem sitzt. Wäre schön gewesen, wenn jemand seine Lösung gepostet hätte. 
Meine Lösung:
Code im thankyou.tpl
[{assign var="order" value=$oView->getOrder()}]
[{assign var="orderId" value=$order->oxorder__oxordernr->value}]
[{assign var="price" value=$order->getFormattedTotalOrderSum()}]
[{assign var="currency" value=$order->getOrderCurrency()}]
[{assign var="currency" value=$currency->name}]
[{$orderId|var_dump}]
[{$price|var_dump}]
[{$currency|var_dump}]