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:
Traditionnellemnt, la programmation avec des templates dans les applications
se déroule de la façon suivante : d'abord vous récupérez vos variables
dans l'application PHP (peut-être avec des requêtes en base de données), puis
vous instanciez votre objet Smarty,
assign()
les variables et display()
le
template. Disons par exemple que nous avons un téléscripteur dans
notre template. Nous récupérerions les données dans notre application,
puis les assignerions ensuite pour les afficher. Mais ne serait-ce pas
mieux de pouvoir ajouter ce téléscripteur à n'importe quelle application
en incluant directement le template sans avoir à se soucier de la récupération
des données ?
Vous pouvez réaliser celà en écrivant un plugin personnalisé pour récupérer le contenu et l'assigner à une variable du template.
Example 18.7. Template composant
function.load_ticker.php
-
Efface le fichier du répertoire des
$plugins
<?php // notre fonction pour récupérer les données function fetch_ticker($symbol,&$ticker_name,&$ticker_price) { // du traitement qui récupère $ticker_name // depuis la ressource ticker return $ticker_info; } function smarty_function_load_ticker($params, &$smarty) { // appel de la fonction $ticker_info = fetch_ticker($params['symbol']); // assignation de la variable de template $smarty->assign($params['assign'], $ticker_info); } ?>
index.tpl
{load_ticker symbol='SMARTY' assign="ticker"} Stock Name: {$ticker.name} Stock Price: {$ticker.price}
Voir aussi
{include_php}
,
{include}
et
{php}
.