Name
display() — Affiche le template
Description
void display(string template,
string cache_id,
string compile_id);
Utilisée pour afficher un template. Il faut fournir un type et un
chemin de ressource template
valides. Vous pouvez passer en second paramètre un identifiant
de fichier de $cache id. Reportez-vous à la section
cache pour plus de renseignements.
En tant que troisième paramètre optionnel, vous pouvez passer un
identifiant de compilation $compile_id.
C'est au cas où vous voudriez compiler plusieurs versions du
même template, par exemple, pour avoir des templates compilés
pour différents langages. Une autre utilité pour l'identifiant de compilation
$compile_id est lorsque vous utilisez plus d'un
$template_dir mais
seulement un $compile_dir.
Définissez un $compile_id
séparé pour chaque
$template_dir,
sinon, les templates du même nom s'effaceront. Vous pouvez également
définir la variable $compile_id une seule
fois plutôt que de la passer à chaque appel à la fonction.
Example 13.12. Exemple avec display()
<?php
include(SMARTY_DIR.'Smarty.class.php');
$smarty = new Smarty();
$smarty->caching = true;
// ne fait un appel à la base de données que si le fichier
// de cache n'existe pas
if(!$smarty->is_cached('index.tpl')) {
// quelques données
$address = '245 N 50th';
$db_data = array(
'Ville' => 'Lincoln',
'Pays' => 'Nebraska',
'Code postal' = > '68502'
);
$smarty->assign('Nom','Fred');
$smarty->assign('Adresse',$address);
$smarty->assign($db_data);
}
// affichage
$smarty->display('index.tpl');
?>
Utilisez la syntaxe des ressources templates
pour afficher des fichiers en-dehors du répertoire
$template_dir.
Example 13.13. Exemples de fonction d'affichage de ressources templates
<?php
// chemin absolu
$smarty->display('/usr/local/include/templates/header.tpl');
// chemin absolu (mêm chose)
$smarty->display('file:/usr/local/include/templates/header.tpl');
// chemin absolu Windows (on DOIT utiliser le préfixe "file:")
$smarty->display('file:C:/www/pub/templates/header.tpl');
// inclue à partir de la ressource template nommée "db"
$smarty->display('db:header.tpl');
?>
Voir aussi
fetch() et
template_exists().
