{include_php} Nom attribut Type Requis Défaut Description file chaîne de caractère oui n/a Le nom du fichier PHP à inclure once boléen Non true Inclure plusieurs fois ou non le fichier PHP si plusieurs demandes d'inclusions sont faîtes. assign chaîne de caractère Non n/a le nom de la variable PHP dans laquelle la sortie sera assignée plutôt que directement affichée. Technical Note {include_php} est presque obsolète dans Smarty. Vous pouvez obtenir des résultats équivalents en utilisant les fonctions utilisateur. La seule raison qui peut vous pousser à utiliser {include_php} est que vous avez besoin de mettre une de vos fonction en quarantaine vis à vis du répertoire des plugins ou de votre application. Reportez vous à l'exemple des templates composants pour plus de détails. Les balises {include_php} sont utilisées pour inclure directement un script PHP dans vos templates. Si "security" est activé, alors le script à exécuter doit être placé dans le chemin $trusted_dir. La balise {include_php} attends l'attribut "file", qui contient le chemin du fichier PHP à inclure, relatif à $trusted_dir, ou absolu. Par défaut, les fichiers PHP ne sont inclus qu'une seule fois, même si la demande d'inclusion survient plusieurs fois dans le template. Vous pouvez demander à ce que ce fichier soit inclus à chaque demande grâce à l'attribut once. Mettre l'attribut once à false aura pour effet d'inclure le script PHP à chaque fois que demandé dans le template. Vous pouvez donner une valeur à l'attribut optionnel assign, pour demander à la fonction {include_php} d'assigner la sortie du script PHP à la variable spécifiée plutôt que d'en afficher directement le résultat. L'objet Smarty est disponible en tant que $this dans le script PHP inclus. Fonction {include_php} load_nav.php query("select * from site_nav_sections order by name",SQL_ALL); $this->assign('sections',$sql->record); ?> ]]> Où index.tpl est : {$curr_section.name}
{/foreach} ]]>
Voir aussi {include}, {php}, {capture}, les ressources de template et les "composants templates".