Zugriff Smarty Array in php

Hallo Zusammen,

kann mir jemand die Syntax mitteilen, wie ich aus einer template variable mit get_template_vars oder _tpl_vars
auf die smarty variable dprice aus dem array {$oxcmp_basket} zugreiffen kann?

Beispiel: $this->_tpl_vars[$oxcmp_basket];

liefert mir logischerweise nur das Array.

Ich muss leider in php arbeiten, da ich einen header redirect mit übergabe der variable benötige, sonst würde ich die smarty variable direkt ansprechen.

Hier der komplette code:

[{ if $payment->oxpayments__oxid == “paypal” }]
[{php}]
$totalAmount = $this->_tpl_vars[‘dprice’]; // Hier ist der Fehler !!!
$location = “/paypal/ReviewOrder.php?paymentAmount=” . $totalAmount;
header(“Location: $location”);
[{/php}]
[{/if}]

Vielen Dank.

Gruß
René

$oxcmp_basket=$this->_tpl_vars[‘oxcmp_basket’]
oder
$oxcmp_basket=$this->get_template_vars('‘oxcmp_basket’)
holt den Smarty-Array in die PHP-Umgebung.

$totalAmount = $oxcmp_basket[‘dprice’] liefert dann den Preis…

Danke erstmal.

Leider funktioniert das nicht. Fehlermeldung:

Fatal error: Cannot use object of type oxBasket as array in /var/www/virtual/wakemaster.de/dev/htdocs/tmp/033bd614ce4655e28f8ab33747d1e49d^%%57^575^575AC582%%order.tpl.php on line 7

Ich befinde mich auf der Seite:
http://dev.wakemaster.de/index.php?cl=order&

Ein Test von

[{ $oxcmp_basket->dprice }]
ergibt den richtigen Warenkorb Gesamtwert!

Grüße René

Danke erstmal.

Leider funktioniert das nicht. Fehlermeldung:

Fatal error: Cannot use object of type oxBasket as array in /var/www/virtual/wakemaster.de/dev/htdocs/tmp/033bd614ce4655e28f8ab33747d1e49d^%%57^575^575AC582%%order.tpl.php on line 7

Ich befinde mich auf der Seite:
http://dev.wakemaster.de/index.php?cl=order&

Ein Test von

[{ $oxcmp_basket->dprice }]
ergibt den richtigen Warenkorb Gesamtwert!

Grüße René

Das ergibt dann keine Gehlermeldung mehr, aber Wert ist gleich NULL:

[{php}]
$oxcmp_basket[]=$this->_tpl_vars[‘oxcmp_basket’] ;
$totalAmount = $oxcmp_basket[‘dprice’];
echo $totalAmount;
[{/php}]

Hast Du noch einen Tip für mich Avenger?

Ich habs :slight_smile:

$oxcmp_basket=$this->_tpl_vars[‘oxcmp_basket’];
$totalAmount = $oxcmp_basket->dprice;
echo $totalAmount

Die Fehlermeldung hatte ja schon gesagt, dass es sich um eine Klasse handelt, also hab ich einfach mal den Objektzugriff versucht!

Vielen Dank für den vorangegangen Ansatz!

Beste Grüße
René