Get Smarty

Donate

Donate Bitcoin Bitcoin
Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Largest classified with thousands of ads at Shoppok

Buy cheap eyeglasses from Cheapglasses123.com and save up to 80%.

Buy prescription glasses from www.australiaglasses.com and save.

Cheap Glasses Now On Sale at GlassesPeople.com. Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Find Wedding Dresses Online at Canada from Ca-dresses.com

Find your local domestic cleaner

Brautkleider auf Topwedding.de

Best Wedding Dresses Australia at AuBridalDresses.com

Find free files to download on allwhatyouwant.net

Advertisement

Name

fetch() — Retourne le résultat du template

Description

string fetch(string template,
             string cache_id,
             string $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 $cache id en deuxième paramètre. 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.14. Exemple avec fetch()


<?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);

}

// récupère le résultat
$output = $smarty->fetch('index.tpl');

// fait quelque chose avec $output ici

echo $output;
?>

    


Example 13.15. Utilisation de fetch() pour envoyer un email

Le template email_body.tpl :


Cher {$contact.name},

Bienvenu et merci d'être devenu membre de notre groupe d'utilisateur,

Cliquez sur le lien ci-dessous pour vous identifier avec votre nom d'utilisateur '{$contact.login_id}'
et vous pourrez utiliser nos forums.

http://{$smarty.server.SERVER_NAME}/login/

Liste principale
Quelques groupes d'utilisateurs

{include file="email_disclaimer.tpl"}

    

Le template email_disclaimer.tpl qui utilise le modificateur {textformat}.


{textformat wrap=40}
Unless you are named "{$contact.name}", you may read only the "odd numbered
words" (every other word beginning with the first) of the message above. If you have
violated that, then you hereby owe the sender 10 GBP for each even
numbered word you have read
{/textformat}

    

et le script PHP utilisant la fonction PHP mail()

     
<?php

// Récupération du contact depuis une base de données eg utilisation de pear ou adodb
$query  = 'select name, email, login_id from contacts where contact_id='.$contact_id;
$contact = $db->getRow($sql);
$smarty->assign('contact', $contact);

mail($contact['email'], 'Subject', $smarty->fetch('email_body.tpl'));

?>

    


Voir aussi {fetch} display(), {eval} et template_exists().

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 20 plus 19? (Are you human?)

Advertisement

Sponsors [info]

UK Web Hosting @webhost.uk.net
Best Web Hosting @rshosting.com
Web Hosting UK @webhostinguk.com
Unlimited Web Hosting @infrenion.com
App Entwicklung @morphodo.com
GoDaddy Coupon @buy-hosting.net
First Click Internet Marketing @fcinternetmarketing.com