What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Table of Contents
El Smarty puede obtener muchos errores tales como, atributos de etiquetas perdidos o nombres de variables mal formadas. Si este ocurre, Usted vera un error similar al siguiente:
Example 17.1. Errores de Smarty
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 te mostra el nombre del template, el número de la linea y el error. Después de esto, el error consiste en el número de la linea de la clase Smarty donde ocurrio el error.
Existen ciertos errores que el Smarty no puede entender, tales como un etiqueta de cierre errado. Estos tipos de erros normalmente termina en una interpretacion de error del tiempo de compilacion de PHP.
Example 17.2. Errores de analisis gramatical de PHP
Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75
Cuando usted encuentra un error de analisis de PHP, el número de la linea de error corresponde al script PHP compilado, no al template en si. Normalmente usted puede en el template localizar el error de sinxis. Algunas cosas que usted puede buscar: falta de cierre de etiquetas para {if}{/if}} o {section}{/section}, o sintaxis de la lógica dentro de una etiqueta {if}. Si usted no encuentra el error, usted tendra que abrir el archivo PHP compilado y dirigirse al número de linea mostrado, donde el correspondiente error esta en el template.
Example 17.3. Otros errores comunes
Warning: Smarty error: unable to read resource: "index.tpl" in... or Warning: Smarty error: unable to read resource: "site.conf" in...
El $template_dir
no existe o es incorrecto, o
el archivo index.tpl
no esta en la carpeta
templates/
La función {config_load}
esta dentro del template (o config_load()
habia sido llamado) y cualquira de los dos
$config_dir
es incorrecto, no exista o
site.conf
no existe en el directorio.
Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist, or is not a directory...
Cualquiera de las dos el
$compile_dir
es asignado incorrectamente, el directorio no existe,
o templates_c
es un archivo y no un directorio.
Fatal error: Smarty error: unable to write to $compile_dir '....
El $compile_dir no puede ser reescrito por el servidor web. Vea a fondo la pagina de permisos del instalación de smarty.
Fatal error: Smarty error: the $cache_dir 'cache' does not exist, or is not a directory. in /..
Esto significa que
$caching es habilitado y
cualquiera de los dos; el
$cache_dir
es asignado incorrectamente, o el directorio no existe,
o cache
es un archivo y no un directorio.
Fatal error: Smarty error: unable to write to $cache_dir '/...
Esto significa que $caching es habilitado y el $cache_dir no puede ser rescrito por el web server. Ver ampliamente la pagina de permisos de la instalacion de smarty.
Vea también debugging, $error_reporting y trigger_error().