J'ai quelques variables dans un modèle et je ne sais pas où je les ai attribuées. J'ai besoin de savoir ce qu'il y a à l'intérieur d'une variable particulière; par exemple, disons que j'ai une variable dans smarty appelée member
. J'ai essayé avec {debug}
mais cela n'a pas fonctionné et aucune fenêtre contextuelle n'a été affichée.
Comment puis-je générer / déboguer des variables smarty en utilisant quelque chose comme var_dump()
à l'intérieur des modèles?
{php}...{/php}
balises, les méthodes 2 ou 3 sont de meilleures options.Cela devrait fonctionner:
ou
Le @ est nécessaire pour que les tableaux permettent à smarty d'exécuter le modificateur sur l'ensemble, sinon il le fait pour chaque élément.
la source
Pour ce que ça vaut, vous pouvez faire
{$varname|@debug_print_var}
pour obtenir unevar_dump()
sortie -esque pour votre variable.la source
@print_r
et@var_dump
n'a pas fonctionné (dans x-cart par exemple), mais@debug_print_var
sortie était là.utilisez simplement {debug} dans votre .tpl et regardez votre code source
la source
Dans le nouveau Smarty, c'est:
la source
Essayez avec la session Smarty:
ou
Pour embellir votre sortie, utilisez-le entre les
<pre> </pre>
balisesla source
Si vous voulez quelque chose de plus joli, je vous conseillerais
remplacez simplement votre variable par votre variable
la source
essayez ceci ... Réglez
$debugging
sur TRUE dans Smarty.la source
Pour déboguer dans smarty dans prestashop 1.6.x:
Une autre balise de débogage utile:
la source
dans smarty V3, vous pouvez utiliser ceci
{var_dump($variable)}
la source
Dans smarty, il existe un modificateur intégré que vous pouvez utiliser en utilisant
|
(opérateur de pipeline unique). Comme ceci{$varname|@print_r}
affichera la valeur commeprint_r($php_variable)
la source
Je préfère utiliser
<script>console.log({$varname|@json_encode})</script>
pour me connecter à la console.la source
{$variable|@debug_print_var nofilter}
et vous n'avez pas besoin d'ajouter de<pre>
balises " "{$variable|var_dump}
vous en montrer plus (mais le formatage est pire) cardebug_print_var
ne pas afficher de variable privée dans l'objet!la source