Smarty Variable in PHP ausgeben

Hallo, es wird ja die Smarty Version 3 Verwendet. Laut Smarty Doku soll es ganz einfach sein, eine Variable aus Smarty in PHP aus zu geben, allerdings klappt das bei mir nicht! http://www.smarty.net/docs/en/api.get.template.vars.tpl // get all assigned template vars $all\_tpl\_vars = $smarty-\>getTemplateVars(); // take a look at them print\_r($all\_tpl\_vars); Hat zur Folge, das keine Seite mehr angezeigt wird! Also ich sehe nur weiß! Hat jemand dazu eine Idee? Der Hintergrund ist, das ich über eine mysql Tabelle etwas auslesen möchte und dafür die Betsellt ID benötige! Die Tabelle ist von mir selbst angelegt, also nichts von Shopware! Lg Edit: Wie es scheint, ist die Funktion nur innerhalb von PHP zu nutzen, wenn ich mit PHP eine Smarty Variable fülle und wieder ausgeben will. Hat einer sonst eine Idee? [color=green]Edit2: Mir würde es schon reichen, wenn ich wüsste, wie ich der Var $sOpenOrders noch mehr hinzu fügen könnte, ggf. etwas aus der Datenbank ausgelesenes![/color]

[quote=„tais46“]Hallo, es wird ja die Smarty Version 3 Verwendet. Laut Smarty Doku soll es ganz einfach sein, eine Variable aus Smarty in PHP aus zu geben, allerdings klappt das bei mir nicht! http://www.smarty.net/docs/en/api.get.template.vars.tpl // get all assigned template vars $all\_tpl\_vars = $smarty-\>getTemplateVars(); // take a look at them print\_r($all\_tpl\_vars); Hat zur Folge, das keine Seite mehr angezeigt wird! Also ich sehe nur weiß! Hat jemand dazu eine Idee? Der Hintergrund ist, das ich über eine mysql Tabelle etwas auslesen möchte und dafür die Betsellt ID benötige! Die Tabelle ist von mir selbst angelegt, also nichts von Shopware! Lg Edit: Wie es scheint, ist die Funktion nur innerhalb von PHP zu nutzen, wenn ich mit PHP eine Smarty Variable fülle und wieder ausgeben will. Hat einer sonst eine Idee? [color=green]Edit2: Mir würde es schon reichen, wenn ich wüsste, wie ich der Var $sOpenOrders noch mehr hinzu fügen könnte, ggf. etwas aus der Datenbank ausgelesenes![/color][/quote] Das Problem dürfte sein, dass im Template „$smarty“ nicht definiert ist.

[quote=„avenger“][quote=„tais46“]Hallo, es wird ja die Smarty Version 3 Verwendet. Laut Smarty Doku soll es ganz einfach sein, eine Variable aus Smarty in PHP aus zu geben, allerdings klappt das bei mir nicht! http://www.smarty.net/docs/en/api.get.template.vars.tpl // get all assigned template vars $all\_tpl\_vars = $smarty-\>getTemplateVars(); // take a look at them print\_r($all\_tpl\_vars); Hat zur Folge, das keine Seite mehr angezeigt wird! Also ich sehe nur weiß! Hat jemand dazu eine Idee? Der Hintergrund ist, das ich über eine mysql Tabelle etwas auslesen möchte und dafür die Betsellt ID benötige! Die Tabelle ist von mir selbst angelegt, also nichts von Shopware! Lg Edit: Wie es scheint, ist die Funktion nur innerhalb von PHP zu nutzen, wenn ich mit PHP eine Smarty Variable fülle und wieder ausgeben will. Hat einer sonst eine Idee? [color=green]Edit2: Mir würde es schon reichen, wenn ich wüsste, wie ich der Var $sOpenOrders noch mehr hinzu fügen könnte, ggf. etwas aus der Datenbank ausgelesenes![/color][/quote] Das Problem dürfte sein, dass im Template „$smarty“ nicht definiert ist.[/quote] In welchen PHP Dateien treibst du dich rum? In den Controllern kommst du meistens mit print_r($view); an alle Smarty Variablen ran.

Mal ne andere Frage, das mit dem Template hat sich erledigt. Ich versuche es jetzt über ein Plugin zu realisieren. Mit $orderList = $view-\>sOpenOrders; foreach ($orderList as $order){ print\_r($order); } Kann ich mir ja die Bestellungen anzeigen lassen. Jetzt möchte ich jedoch an die details im Array ran! D.h. an alle bestellten Positionen. Dann möchte ich von der Position die ID auslesen und etwas neues in das array parsen. Dann überprüfe ich über das Template ob der parameter im array gesetzt ist oder nicht und kann ihn so für die positionen ausgeben. Nur wie kann ich in einer Schleife (php) die einzelnen Positionen aller Bestellungen durchgehen?

ich hab lange experimentiert, um die im jeweiligen tpl verfügbaren template-vars auszugeben und bin auf folgende Lösung gekommen: Am Ende meiner index/index.tpl diesen Abschnitt eingebaut: [code]{php} $tplVars = $template->getTemplateVars(); #echo "

".print\_r($tplVars, true)."

"; foreach($tplVars as $key=>$val){ echo ’
‘.$key.’: '; if(is_array($val)) { #foreach($val as $key2=>$val2){ # echo ’
 ‘.$key2.’: '.$val2; #} echo ‘Array (’.count($val).’)’; } else { echo $val; } } {/php}[/code]Mit dem “echo print_r($tplVars, true)” aus Zeile 3 kommt tatsächlich nichts mehr rüber, aber mit der foreach-Schleife - warum auch immer. Ein interessierendes tplVar-Array kann man dann direkt im tpl ausgeben: [code]sOpenOrders:

{$sOpenOrders|@print\_r}

[/code]vielleicht hilft’s ja jemandem