Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

{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 contenir l'attribut file qui contient le chemin vers la ressource de template.

  • La définition de l'attribut optionnel assign spécifie la variable de template assignée à la sortie de {include} au lieu d'être affichée. Similaire à {assign}.

  • Les variables peuvent être passées à des templates inclus comme attributs. Toutes les variables explicitement passées à un template inclus ne sont disponibles que dans le contexte du fichier inclus. Les attributs de variables écrasent les variables courantes de template, dans le cas où les noms sont les mêmes.

  • Toutes les valeurs de variables assignées sont restaurées une fois le contexte du template inclus refermés. Ceci signifie que vous pouvez utiliser toutes les variables depuis un template inclus dans le template inclus. Mais les modifications faites aux variables dans le template inclus ne sont pas visibles dans le template incluant, parès l'instruction {include} statement.

  • Utilisez la synthaxe pour les ressources de template aux fichiers {include} en dehors du dossier $template_dir.

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.

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors