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()
.