What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
display() — Affiche le template
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()
.