it-swarm.com.de

Debuggen von Variablen in Smarty wie in PHP var_dump ()

Ich habe einige Variablen in einer Vorlage und ich weiß nicht, wo ich sie zugewiesen habe. Ich muss wissen, was sich in einer bestimmten Variablen befindet. Angenommen, ich habe in smarty eine Variable namens member. Ich habe es mit {debug} versucht, aber es funktionierte nicht und es wurde kein Popup angezeigt. 

Wie kann ich Smarty-Variablen mit etwas wie var_dump() in den Vorlagen ausgeben/debuggen?

144
streetparade

Sie können {php} -Tags verwenden

Methode 1 (funktioniert in Smarty 3.1 oder höher nicht):

{php}

$var =
$this->get_template_vars('var');
var_dump($var);

{/php}

Methode 2:

{$var|@print_r}

Methode 3:

{$var|@var_dump}

Lassen Sie mich wissen, ob das hilft.

294
pinaki

Das sollte funktionieren:

{$var|@print_r}

oder 

{$var|@var_dump}

Das @ ist für Arrays erforderlich, damit smarty den Modifikator gegen das Ganze ausführt, andernfalls für jedes Element.

112
Tom Haigh

Für das, was es wert ist, können Sie {$varname|@debug_print_var} verwenden, um eine var_dump()-esque-Ausgabe für Ihre Variable zu erhalten.

23
Chris

verwenden Sie einfach {debug} in Ihrem .tpl und sehen Sie sich Ihren Quellcode an

9
david

Im neuen Smarty heißt es:

<pre>
{var_dump($variable)}
</pre>
5

Probieren Sie es mit der Smarty Session aus:

{$smarty.session|@debug_print_var}

oder 

{$smarty.session|@print_r}

Um Ihre Ausgabe zu verschönern, verwenden Sie sie zwischen <pre> </pre>-Tags

4
karadayi

Wenn Sie etwas Schöneres wollen, würde ich Ihnen raten

{"<?php\n\$data =\n"|@cat:{$yourvariable|@var_export:true|@cat:";\n?>"}|@highlight_string:true}

ersetzen Sie einfach yourvariable durch Ihre Variable

2
Bastilol

versuchen Sie Folgendes: Setzen Sie $debugging in Smarty auf TRUE.

1
RubyDubee

In smarty gibt es einen eingebauten Modifikator, den Sie mit | (Single Pipeline Operator) verwenden können. Auf diese Weise {$varname|@print_r} wird der Wert als print_r($php_variable) ausgegeben.

0
Pranav Bhatt

in Smarty V3 können Sie dies verwenden

{var_dump($variable)}

0
Awais fiaz

So debuggen Sie in smarty in prestashop 1.6.x:

{ddd($variable)} -> debug and die

{ppp($variable)} -> debug only

Und andere nützliche Debug-Tags: 

{debug}
0
Aurelink