<< Back to man.ChinaUnix.net

Chapter 10. Debugging Console


There is a debugging console included with Smarty. The console informs you of all the included templates, assigned variables and config file variables for the current invocation of the template. A template named "debug.tpl" is included with the distribution of Smarty which controls the formatting of the console. Set $debugging to true in Smarty, and if needed set $debug_tpl to the template resource path for debug.tpl (this is in SMARTY_DIR by default.) When you load the page, a javascript console window should pop up and give you the names of all the included templates and assigned variables for the current page. To see the available variables for a particular templates, see the {debug} template function. To disable the debugging console, set $debugging to false. You can also temporarily turn on the debugging console by putting SMARTY_DEBUG in the URL if you enable this option with $debugging_ctrl.

SMARTY里面包括有一个调式控制台。它可以告诉你模板里面包含的所有内容,同时也可以为当前使用模板中的变量和配置文件变量赋值。一个叫 debug.tpl 的模板包含了很多控制调式控制台格式化的SMARTY类,在SMARTY中把变量 $debugging 设置为 true ,如果需要的话设置变量 $debug_tpl 为模板源文件路径(在SMARTY_DIR用已经自定义)。当你载入页面时,有一个JAVASCRIPT控制台窗口将弹出且告诉你所有模板中包含的名称和当前页已经赋值的变量。如果要了解某个模板的详细变量,可以去看 {debug} 模板定义函数章节。如果要关闭掉调试控制台,设置变量 $debugging 为 false 就可以了。如果你开启了 $debugging ctrl 选项,也可以通过放置 SMARTY_DEBUG 在 URL 来临时打开调试控制台。

Technical Note: The debugging console does not work when you use the fetch() API, only when using display(). It is a set of javascript statements added to the very bottom of the generated template. If you do not like javascript, you can edit the debug.tpl template to format the output however you like. Debug data is not cached and debug.tpl info is not included in the output of the debug console.

技术提示:当你使用函数 fetch() API 时调试控制台不能用,在使用 display() 时才可以使用。它将自动地把 javascript 添加到已经应用模板的每一个按扭中。如果你不喜欢 javascript ,你可以编辑文件 debug.tpl 模板,格式化输出为你自己喜欢的格式。调试数据是没有被缓存的,并且 debug.tpl 信息也没有包含在调试控制台的输出文件中。

Note: The load times of each template and config file are in seconds, or fractions thereof.