Zugriff auf Warenkorb im user_checkout_noregistration.tpl

Hi,
ich brauche bei der user_checkout_noregistration.tpl zugriff auf die Warenkorb Artikel.
Ich finde den Warenkorb hier allerdings nicht. (Basket nicht vorhanden, smarty.session sehe ich die artikel nicht und im smarty debug sind die auch nicht zu sehen)
Ich kann mir auch leider nicht erschließen welcher der Controller hier zuständig ist, um dort evtl. eine variable ans template weiter zu reichen.

$basket = Registry::getSession()->getBasket();

Ich würde es mit [{ $oxcmp_basket }] probieren

Mhh also vom template aus scheint das nicht so einfach zu gehen. Ich sehe das Objekt zwar (vardump alles protected) , aber ich bekomme keine Variablen raus.

[{$oxcmp_basket->_aBasketContents|@var_dump}]>

[message Cannot access protected property paypPayPalPlusOxBasket::$_aBasketContents

[{$oxcmp_basket->_getItems()|@var_dump}]

Function ‘getItems’ does not exist or is not accessible! (paypPayPalPlusOxBasket)

Ich kann auch leider überhaupt nicht finden, von wo diese .tpl aufgerufen wird oder welcher Controller das steuert. Ich hab hier ein custom modul von diggidesk das, das im Warenkorb angesprochen wird.
Hier erreiche ich die funktionen aber leider nicht, hatte versucht hier eine hinzu zu fügen.

class dd_crosssellingarticles_oxcmp_basket extends dd_crosssellingarticles_oxcmp_basket_parent

im Warekorb habe ich buttons eingebunden die dieses Modul allerdings mit basket und nicht oxcmp_basket ansprechen.

<input type="hidden" name="cl" value="basket">
<input type="hidden" name="fnc" value="removeInstallation">
[{foreach key=basketindex from=$oxcmp_basket->getContents() item=basketitem name=basketContents}]
[{$basketitem->oxarticles__FIELD->value}]
[{/foreach}]

Also das getContents() funktioniert,
ist hier aber nicht definiert, wo hast du das denn gefunden?
https://docs.oxid-esales.com/sourcecodedocumentation/4.9.4/classoxcmp__basket.html

Dieser hier geht aber leider nicht

[{$basketitem->oxarticles__oxartnum->value}]

Dann setze etwas wie folgt in die Schleife

[{assign var="oArticle" value=$basketitem->getArticle()}]
[{$oArticle->oxarticles__oxartnum->value}]
1 Like

hey super, das funktioniert danke.
Jetzt erklär mir aber bitte auch noch mal wo du das jetzt gefunden hast, das du die funktion getArticle() oder getContents() benutzen kannst? Das kann ja nicht sein das ich sowas immer suche aber nicht finde?
z.B. hier und hier in der objecto doku ist nichts von der funktion getArticle() zu sehen.

Erfahrungswerte :wink: [{ $oxcmp_basket }] ist überall verfügbar. Es ruft mit

$basket = Registry::getSession()->getBasket();, wie beides oben genannt,

den Warenkorb ab. Die Verarbeitung kommt aus:
basketcontents_table.tpl

1 Like