Smarty - guide

Page 185

Etendre Smarty avec des plugins

$sql->query("select tpl_source from my_table where tpl_name='$tpl_name'"); if ($sql->num_rows) { $tpl_source = $sql->record['tpl_source']; return true; } else { return false; } } function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty) { // fait des requêtes BD pour remplir $tpl_timestamp $sql = new SQL; $sql->query("select tpl_timestamp from my_table where tpl_name='$tpl_name'"); if ($sql->num_rows) { $tpl_timestamp = $sql->record['tpl_timestamp']; return true; } else { return false; } } function smarty_resource_db_secure($tpl_name, &$smarty) { // suppose que tous les templates sont svrs return true; } function smarty_resource_db_trusted($tpl_name, &$smarty) { // inutilisée pour les templates } ?>

Voir aussi : register_resource() et unregister_resource().

Insertions Les plugins d'insertion sont utilisés pour implémenter les fonctions qui sont appelées par les balises {insert} dans les templates. string smarty_insert_name()($params, &$smarty); array $params; object &$smarty; Le premier paramètre passé à la fonction est une tableau associatif d'attributs. La fonction d'insertion est supposée retourner le résultat qui sera substitué à la balise {insert} dans le template.

Exemple 16.11. Plugin d'insertion <?php /* * Smarty plugin * ------------------------------------------------------------* Fichier : insert.time.php * Type : temps * Nom : time * Rôle : Insert la date/heure courante conformément * au format

179


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.