您可以使用 {php}
标记
方法 1(在 Smarty 3.1 或更高版本中不起作用):
{php}
$var =
$this->get_template_vars('var');
var_dump($var);
{/php}
方法二:
{$var|@print_r}
方法三:
{$var|@var_dump}
这应该有效:
{$var|@print_r}
或者
{$var|@var_dump}
数组需要 @ 以使 smarty 对整个事物运行修饰符,否则它会为每个元素执行此操作。
对于它的价值,您可以执行 {$varname|@debug_print_var}
以获得变量的 var_dump()
式输出。
@print_r
和 @var_dump
不起作用(例如在 x-cart 中),但有 @debug_print_var
输出。
只需在您的 .tpl 中使用 {debug} 并查看您的源代码
在新的 Smarty 中,它是:
<pre>
{var_dump($variable)}
</pre>
试试 Smarty Session:
{$smarty.session|@debug_print_var}
或者
{$smarty.session|@print_r}
要美化您的输出,请在 <pre> </pre>
标记之间使用它
试试这个.... 在 Smarty 中将 $debugging
设置为 TRUE。
在 prestashop 1.6.x 中调试 smarty :
{ddd($variable)} -> debug and die
{ppp($variable)} -> debug only
另一个有用的调试标签:
{debug}
如果你想要更漂亮的东西,我会建议
{"<?php\n\$data =\n"|@cat:{$yourvariable|@var_export:true|@cat:";\n?>"}|@highlight_string:true}
只需用你的变量替换你的变量
在 smarty V3 中你可以使用这个
{var_dump($variable)}
我更喜欢使用 <script>console.log({$varname|@json_encode})</script>
登录控制台。
{$variable|@debug_print_var nofilter}
,您无需添加“<pre>
”标签
{$variable|var_dump}
显示更多(但格式更差),因为 debug_print_var
未在对象中显示私有变量!
在 smarty 中有内置的修饰符,您可以通过使用 |
(单个管道运算符)来使用它。像这样 {$varname|@print_r}
将值打印为 print_r($php_variable)
不定期副业成功案例分享
{php}...{/php}
标签,方法 2 或 3 是更好的选择。{$var|@dump}
,甚至不需要用<pre></pre>
包装。{$var|dump}
在 Smarty 3 上的工作原理相同。