{include_php}Notes techniques{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 plugins/
ou de votre application. Reportez-vous à l'exemple des
templates composants
pour plus de détails.
Nom attributTypeRequisDéfautDescriptionfilechaîne de caractèreouin/aLe nom du fichier PHP à inclureonceboléenNon&true;Inclure plusieurs fois ou non le fichier PHP si
plusieurs demandes d'inclusions sont faîtes.assignchaîne de caractèreNonn/ale nom de la variable PHP dans laquelle la sortie
sera assignée plutôt que directement affichée.
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}Le fichier load_nav.php
query('select * from site_nav_sections order by name',SQL_ALL);
$this->assign('sections',$sql->record);
?>
]]>
Où le template est :
{$nav.name}
{/foreach}
]]>
Voir aussi
{include},
$security,
$trusted_dir,
{php},
{capture}, les
ressources de template et les
composants de templates.