Mam kilka zmiennych w szablonie i nie wiem, gdzie je przypisałem. Muszę wiedzieć, co znajduje się w określonej zmiennej; na przykład, powiedzmy, że mam zmienną w smarty o nazwie member
. Próbowałem, {debug}
ale to nie zadziałało i nie zostało wyświetlone żadne wyskakujące okienko.
Jak mogę wyprowadzać / debugować zmienne smarty, używając czegoś takiego jak var_dump()
w szablonach?
{php}...{/php}
tagów w najnowszej wersji Smarty Metody 2 lub 3 są lepszymi opcjami.To powinno działać:
lub
Znak @ jest potrzebny tablicom, aby smarty uruchamiał modyfikator na całości, w przeciwnym razie robi to dla każdego elementu.
źródło
Bez względu na to, ile jest to warte, możesz zrobić,
{$varname|@debug_print_var}
aby uzyskać avar_dump()
-esque wyjście dla swojej zmiennej.źródło
@print_r
i@var_dump
nie działała (na przykład w x-cart), ale@debug_print_var
wynik był tam.po prostu użyj {debug} w swoim .tpl i spójrz na swój kod źródłowy
źródło
W nowym Smarty jest to:
źródło
Wypróbuj z sesją Smarty:
lub
Aby upiększyć swój wynik, użyj go między
<pre> </pre>
tagamiźródło
Jeśli chcesz czegoś ładniejszego, radzę
wystarczy wymienić yourvariable przez zmienną
źródło
spróbuj tego .... Ustaw
$debugging
na TRUE w Smarty.źródło
Aby debugować w smarty w Prestashop 1.6.x:
Inny użyteczny tag debugowania:
źródło
w smarty V3 możesz tego użyć
{var_dump($variable)}
źródło
W smarty jest wbudowany modyfikator, którego możesz użyć używając
|
(operator pojedynczego potoku). W ten sposób{$varname|@print_r}
wypisze wartość jakoprint_r($php_variable)
źródło
Wolę używać
<script>console.log({$varname|@json_encode})</script>
do logowania się do konsoli.źródło
{$variable|@debug_print_var nofilter}
i nie musisz dodawać<pre>
tagów „ ”{$variable|var_dump}
pokaże ci więcej (ale gorsze formatowanie), ponieważdebug_print_var
nie pokazuje zmiennej prywatnej w obiekcie!źródło