Erreurs Smarty/PHP
Smarty peut identifier de nombreuses erreurs comme des attributs de
balises manquants ou de noms de variables malformés. Dans ce cas-là,
vous verrez apparaître une erreur semblable à :
Exemple 17-1. erreurs 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 vous indique le nom du template, le numéro de la ligne et l'erreur.
Après cela, vous pouvez connaître le numéro de ligne où il y a eu erreur dans
la définition de la classe Smarty.
Il y a certaines erreurs que Smarty ne peut pas détecter, comme les
balises fermantes manquantes. Ce type d'erreurs est la plupart du temps
repéré dans la phase de compilation PHP du template compilé.
Exemple 17-2. Erreur d'analyse PHP Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75 |
|
Quand vous rencontrez une erreur d'analyse PHP, le numéro de la ligne
indiqué est celui du fichier PHP compilé et non du template. Vous pouvez alors
regarder le template et détecter l'erreur. Voici quelques erreurs fréquentes :
balises fermantes pour
{if}{/if}
ou
{section}{/section}
manquantes, ou syntaxe logique incorrecte dans une instruction {if}.
Si vous ne trouvez pas l'erreur, vous devrez alors ouvrir le fichier PHP compilé et aller à la
ligne correspondante pour trouver d'où vient l'erreur.
Exemple 17-3. Autres erreurs communes Warning: Smarty error: unable to read resource: "index.tpl" in...
ou
Warning: Smarty error: unable to read resource: "site.conf" in... |
Le dossier
$template_dir
est incorrect, n'existe pas ou le fichier
the file index.tpl n'est pas dans le dossier
templates/.
Une fonction
{config_load}
est dans un template (ou
config_load()
a été appelé) et soit
$config_dir
est incohérent, n'existe pas, ou
site.conf n'est pas dans le dossier.
Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist,
or is not a directory... |
Fatal error: Smarty error: unable to write to $compile_dir '.... |
Fatal error: Smarty error: the $cache_dir 'cache' does not exist,
or is not a directory. in /.. |
Fatal error: Smarty error: unable to write to $cache_dir '/... |
|
Voir aussi
le débogage,
$error_reporting et
trigger_error().