print_r - Cómo depurar variables en Smarty como en PHP var_dump()
var_dump($_post) (11)
Tengo algunas variables dentro de una plantilla y no sé dónde las asigné. Necesito saber qué hay dentro de una variable en particular; por ejemplo, decir que tengo una variable en smarty llamada member
. Intenté con {debug}
pero no funcionó y no se mostró ninguna ventana emergente.
¿Cómo puedo generar / depurar variables smarty usando algo como var_dump()
dentro de las plantillas?
En el nuevo Smarty es:
<pre>
{var_dump($variable)}
</pre>
En smarty hay un modificador incorporado que puedes usar al usar |
(operador de tubería única). Así {$varname|@print_r}
imprimirá el valor como print_r($php_variable)
Esto debería funcionar:
{$var|@print_r}
o
{$var|@var_dump}
El @ es necesario para que las matrices hagan que smarty ejecute el modificador en todo, de lo contrario lo hace para cada elemento.
Para depurar en smarty en prestashop 1.6.x:
{ddd($variable)} -> debug and die
{ppp($variable)} -> debug only
Una nueva etiqueta de depuración útil:
{debug}
Por lo que vale, puedes hacer {$varname|@debug_print_var}
para obtener un resultado var_dump()
-esque para tu variable.
Puedes usar etiquetas {php}
Método 1 (no funcionará en Smarty 3.1 o posterior):
{php}
$var =
$this->get_template_vars(''var'');
var_dump($var);
{/php}
Método 2:
{$var|@print_r}
Método 3:
{$var|@var_dump}
Déjeme saber si esto ayuda.
Si quieres algo más lindo, te aconsejaría
{"<?php/n/$data =/n"|@cat:{$yourvariable|@var_export:true|@cat:";/n?>"}|@highlight_string:true}
simplemente reemplace su variable por su variable
en smarty V3 puedes usar esto
{var_dump($variable)}
intente esto ... Establezca $debugging
en VERDADERO en Smarty.
solo use {debug} en su .tpl y mire su código fuente
Pruebe con la sesión Smarty:
{$smarty.session|@debug_print_var}
o
{$smarty.session|@print_r}
Para embellecer tu salida, úsala entre <pre> </pre>
etiquetas <pre> </pre>