display()

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