Troubleshooting

Smarty Manual
Prev |  | Next

# Chapter 16. Troubleshooting

# Smarty/PHP errors

Smarty can catch many errors such as missing tag attributes or malformed variable names. If this happens, you will see an error similar to the following:

Example 16-1. Smarty errors
    Warning: Smarty: [in index.tpl line 4]: syntax error: unknown tag - '%blah'
           in /path/to/smarty/Smarty.class.php on line 1041

    Fatal error: Smarty: [in index.tpl line 28]: syntax error: missing section name
           in /path/to/smarty/Smarty.class.php on line 1041

Smarty shows you the template name, the line number and the error. After that, the error consists of the actual line number in the Smarty class that the error occured.

There are certain errors that Smarty cannot catch, such as missing close tags. These types of errors usually end up in PHP compile-time parsing errors.

Example 16-2. PHP parsing errors
    Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75

When you encounter a PHP parsing error, the error line number will correspond to the compiled PHP script, not the template itself. Usually you can look at the template and spot the syntax error. Here are some common things to look for: missing close tags for {if}{/if} or {section}{/section}, or syntax of logic within an {if} tag. If you can't find the error, you might have to open the compiled PHP file and go to the line number to figure out where the corresponding error is in the template.

Prev | Home | Next
Appendixes | Up | Tips & Tricks