如何debuggingSmarty中的variables像在PHP中var_dump()
我有一些模板内的variables,我不知道我在哪里分配他们。 我需要知道什么是在一个特定的variables, 比如说,我在smarty被调用的member
有一个variables。 我尝试{debug}
但它没有工作,并没有popup显示。
我怎样才能输出/debugging使用类似var_dump()
模板内的smartyvariables?
你可以使用{php}标签
方法1(不会在Smarty 3.1或更高版本中工作):
{php} $var = $this->get_template_vars('var'); var_dump($var); {/php}
方法2:
{$var|@print_r}
方法3:
{$var|@var_dump}
让我知道这是否有帮助。
这应该工作:
{$var|@print_r}
要么
{$var|@var_dump}
数组需要@来使smarty对整个事物运行修饰符,否则它会为每个元素执行修饰符。
对于什么是值得的,你可以使用{$varname|@debug_print_var}
来为你的variables获取一个var_dump()
转换的输出。
只需在您的.tpl中使用{debug}并查看您的源代码
在新的Smarty中,它是:
<pre> {var_dump($variable)} </pre>
尝试与Smarty会议:
{$smarty.session|@debug_print_var}
要么
{$smarty.session|@print_r}
为了美化您的输出,请在<pre> </pre>
标记之间使用它
试试这个….在Smarty中设置$debugging
为TRUE。
如果你想要更漂亮一些,我会build议
{"<?php\n\$data =\n"|@cat:{$yourvariable|@var_export:true|@cat:";\n?>"}|@highlight_string}
只是用你的variablesreplace你的variables
在smarty里面有修改器,你可以用|
来使用它 (单一pipe道运营商)。 像这样{$varname|@print_r}
将打印值为print_r($php_variable)
在prestashop 1.6.x中使用smarty进行debugging:
{ddd($variable)} -> debug and die {ppp($variable)} -> debug only
一个有用的debugging标签:
{debug}