У меня есть некоторые переменные внутри шаблона, и я не знаю, где я их назначил. Мне нужно знать, что находится внутри конкретной переменной; например, скажем, у меня есть переменная в Smarty называется member
. Я пытался, {debug}
но это не сработало, и всплывающее окно не отображалось.
Как вывести / отладить переменные smarty, используя что-то вроде var_dump()
внутри шаблонов?
{php}...{/php}
теги, Методы 2 или 3 являются лучшими вариантами.Это должно работать:
или
Символ @ необходим для массивов, чтобы заставить smarty запускать модификатор против всего, иначе он делает это для каждого элемента.
источник
Что бы это ни стоило, вы можете сделать,
{$varname|@debug_print_var}
чтобы получитьvar_dump()
вывод -esque для вашей переменной.источник
@print_r
и@var_dump
не работают (в й тележке, например), но@debug_print_var
выход был там.просто используйте {debug} в вашем .tpl и посмотрите на ваш исходный код
источник
В новом Smarty это:
источник
Попробуйте с Smarty Session:
или
Чтобы украсить свой вывод, используйте его между
<pre> </pre>
тегамиисточник
Если вы хотите что-то красивее, я бы посоветовал
просто заменить yourvariable вашей переменной
источник
попробуйте это .... Установите
$debugging
в ИСТИНА в Smarty.источник
Для отладки в smarty в prestashop 1.6.x:
Другой полезный тег отладки:
источник
в Smarty V3 вы можете использовать это
{var_dump($variable)}
источник
В smarty есть встроенный модификатор, который вы можете использовать с помощью
|
(оператор одиночного конвейера). Как это{$varname|@print_r}
будет печатать значение какprint_r($php_variable)
источник
Я предпочитаю использовать
<script>console.log({$varname|@json_encode})</script>
для входа в консоль.источник
{$variable|@debug_print_var nofilter}
и вам не нужно добавлять "<pre>
" теги{$variable|var_dump}
показать вам больше (но хуже форматирование), потому чтоdebug_print_var
не показывает приватную переменную в объекте!источник