PHP Manual

PEAR Manual

Smarty Manual

PostgreSQL

MySQL Manual

Perl Manual

{include}

les balises "{include}" sont utilisées pour inclure des templates à l'intérieur d'autres templates. toutes les variables disponibles dans le template réalisant l'inclusion sont disponibles dans le template inclus. la balise {include} doit disposer de l'attribut "file", qui contient le chemin de la ressource template.

vous pouvez spécifier un attribut optionnel 'assign' qui définit une variable de template dans laquelle la sortie de {include} sera stockée plutôt qu'affichée.

toutes les valeurs des variables assignées sont restaurées lorsque le template inclus est terminé. ceci signifie que vous pouvez utiliser toutes les variables d'un template inclus dans le template qui l'inclut. mais les modifications des variables dans le template inclus ne sont pas visibles dans le template qui l'inclut après l'instruction {include}.

nom attributtyperequisdefautdescription
filechaîne de caractèresouin/ale nom du template à inclure
assignchaîne de caractèresnonn/ale nom de la variable dans laquelle sera assignée la sortie de include
[var ...][type de variable]nonn/avariables à passer au template

exemple 7-9. fonction {include}

<html>  <head>   <title>{$title}</title>  </head>  <body>   {include file='page_header.tpl'}    {* body of template goes here *}   {include file='$tpl_name.tpl'} <-- remplace $tpl_name avec la valeur    {include file='page_footer.tpl'}  </body> </html>

vous pouvez également passer des variables au template inclus sous forme d'attributs. les variables passées au template par ce moyen ne sont accessibles que dans la portée de ce dernier. les variables passées en tant qu'attribut remplacent les variables déjà définies, qui auraient le même nom.

exemple 7-10. fonction {include}, passage de variables

{include file='header.tpl' title='menu principal' table_bgcolor='#c0c0c0'}  {* le corps du template vient ici *}  {include file='footer.tpl' logo='http://mon.example.com/logo.gif'}

où header.tpl est :

<table border='1' width='100%' bgcolor='{$table_bgcolor|default:"#0000ff"}'>  <tr><td>    <h1>{$title}</h1>   </td></tr> </table>

exemple 7-11. {include} et assignement à une variable

cet exemple assigne le contenu de nav.tpl à la variable $navbar, qui est alors affichée en haut et en bas de la page.

<body>  {include file='nav.tpl' assign=navbar}  {include file='header.tpl' title='main menu' table_bgcolor='#c0c0c0'}  {$navbar}   {* body of template goes here *}   {include file='footer.tpl' logo='http://my.example.com/logo.gif'}  {$navbar} </body>

utilisez la syntaxe ressource template pour inclure des fichiers situés en dehors du répertoire $template_dir.

exemple 7-12. fonction {include}, exemple de ressource template

{* chemin absolu *} {include file='/usr/local/include/templates/header.tpl'}  {* chemin absolu (même chose) *} {include file='file:/usr/local/include/templates/header.tpl'}  {* chemin absolu windows (doit utiliser le préfixe "file:") *} {include file='file:c:/www/pub/templates/header.tpl'}  {* inclusion d'une ressource template "db" *} {include file='db:header.tpl'}  {* inclusion d'un template $variable - eg $module = 'contacts' *} {include file="$module.tpl"} {* ne fonctionne pas avec des simples guillemets ie aucun substitution de variables *} {include file='$module.tpl'}

voir aussi {include_php}, {php}, les ressources de template et les templates composants.