{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.

Nom attribut Type Requis Defaut Description
file chaîne de caractères Oui n/a Le nom du template à inclure
assign chaîne de caractères Non n/a Le nom de la variable dans laquelle sera assignée la sortie de include
[var ...] [type de variable] Non n/a Variables à passer au template

Example 7.17. Exemple avec {include}


<html>
 <head>
  <title>{$title}</title>
 </head>
 <body>
  {include file='page_header.tpl'}

  {* Le corps du template va ici, la variable $tpl_name est remplacé par
    une valeur, e.g.'contact.pl' *}
  {include file='$tpl_name.tpl'}

  {include file='page_footer.tpl'}
 </body>
</html>

  

Example 7.18. Fonction {include}, passage de variables


{include file='links.tpl' title='Newest links' links=$link_array}
{* body of template goes here *}
{include file='footer.tpl' foo='bar'}

  

Le template ci-dessus inclut l'exemple links.tpl


<div id="box">
 <h3>{$title}{/h3>
  <ul>
   {foreach from=$links item=l}
   .. faites quelques choses ici  ...
  </foreach}
  </ul>
</div>

  

Example 7.19. {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='Smarty is cool'}
 {$navbar}
 {* le corps du template va ici *}
 {$navbar}
 {include file='footer.tpl'}
</body>

  

Example 7.20. Divers {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'}

{* include a multi $variable template - eg amber/links.view.tpl *}
{include file="$style_dir/$module.$view.tpl"}

  

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