Name
template_exists() — Vérifie si un template spécifique existe
Description
bool template_exists(string template);Elle accepte soit un chemin vers le template, soit une ressource de type chaîne de caractères spécifiant le nom du template.
Example 13.26. template_exists()
Cet exemple utilise $_GET['page'] pour inclure le contenu d'un template.
Si le template n'existe pas, une page d'erreur sera affiché à la place.
Le fichier page_container.tpl :
<html>
<head><title>{$title}</title></head>
<body>
{include file='page_top.tpl'}
{* inclure le contenu du milieu de la page *}
{include file=$page_mid}
{include file='page_footer.tpl'}
</body>
Et le script PHP
<?php
// Définit le nom du fichier eg index.inc.tpl
$mid_template = $_GET['page'].'.inc.tpl';
if( !$smarty->template_exists($mid_template) ){
$mid_template = 'page_not_found.inc.tpl';
}
$smarty->assign('page_mid', $mid_template);
$smarty->display('page_container.tpl');
?>
