Ich habe einige Variablen in einer Vorlage und weiß nicht, wo ich sie zugewiesen habe. Ich muss wissen, was sich in einer bestimmten Variablen befindet. Angenommen, ich habe eine Variable in smarty namens member
. Ich habe es versucht, {debug}
aber es hat nicht funktioniert und es wurde kein Popup angezeigt.
Wie kann ich Smarty-Variablen mithilfe von var_dump()
Vorlagen ausgeben / debuggen ?
{php}...{/php}
Tags deaktiviert , sind die Methoden 2 oder 3 bessere Optionen.Das sollte funktionieren:
oder
Das @ wird für Arrays benötigt, damit Smarty den Modifikator für das Ganze ausführt, andernfalls für jedes Element.
quelle
Für das, was es wert ist, können Sie
{$varname|@debug_print_var}
einevar_dump()
-esque-Ausgabe für Ihre Variable erhalten.quelle
@print_r
und@var_dump
hat nicht funktioniert (in x-cart zum Beispiel), aber@debug_print_var
Ausgang war da.Verwenden Sie einfach {debug} in Ihrer .tpl und sehen Sie sich Ihren Quellcode an
quelle
Im neuen Smarty ist es:
quelle
Probieren Sie es mit der Smarty Session aus:
oder
Verwenden Sie es zwischen
<pre> </pre>
Tags, um Ihre Ausgabe zu verschönernquelle
Wenn Sie etwas Schöneres wollen, würde ich raten
Ersetzen Sie einfach Ihre Variable durch Ihre Variable
quelle
Versuchen Sie dies .... Setzen Sie
$debugging
in Smarty auf TRUE.quelle
So debuggen Sie in Smarty in Prestashop 1.6.x:
Ein weiteres nützliches Debug-Tag:
quelle
In Smarty V3 können Sie dies verwenden
{var_dump($variable)}
quelle
In smarty ist ein Modifikator integriert, den Sie mithilfe von
|
(einzelner Pipeline-Operator) verwenden können. So{$varname|@print_r}
wird der Wert als gedrucktprint_r($php_variable)
quelle
Ich bevorzuge es, mich
<script>console.log({$varname|@json_encode})</script>
bei der Konsole anzumelden.quelle
{$variable|@debug_print_var nofilter}
und Sie müssen keine "<pre>
" Tags hinzufügen{$variable|var_dump}
Zeigen Sie mehr (aber schlechtere Formatierung), weildebug_print_var
keine private Variable im Objekt angezeigt wird!quelle