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.
Exemple 13-1. 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.
Exemple 13-2. 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().