fetch()Retourne le résultat du templateDescriptionstringfetchstringtemplatestringcache_idstring$compile_id
Utilisée pour renvoyer le résultat du template plutôt que de
l'afficher.
Il faut passer un type et un chemin de ressource template
valides. Vous pouvez passer un identifiant de cache en deuxième
paramètre. Reportez-vous à la section cache
pour plus de renseignements.
¶meter.compileid;
Exemple avec fetch()
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);
}
// récupère le résultat
$output = $smarty->fetch('index.tpl');
// fait quelque chose avec $output ici
echo $output;
?>
]]>
Utilisation de fetch() pour envoyer un email
Le template email_body.tpl
Le template email_disclaimer.tpl qui utilise le modificateur
{textformat}.
et le script PHP utilisant la fonction PHP
mail()
getRow($sql);
$smarty->assign('contact', $contact);
mail($contact['email'], 'Subject', $smarty->fetch('email_body.tpl'));
?>
]]>
Voir aussi
{fetch}
display(),
{eval} et
template_exists().