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

Chapter 4. Variablen

Smarty hat verschiedene Variablentypen, welche weiter unten detailliert beschrieben werden. Der Typ der Variable wird durch das Vorzeichen bestimmt.

Variablen können in Smarty direkt ausgegeben werden oder als Argumente für Funktionsparameter und Modifikatoren sowie in Bedingungen verwendet werden. Um eine Variable auszugeben, umschliessen Sie sie mit Trennzeichen, so dass die Variable das einzige enthaltene Element ist. Beispiele:

	
{$Name}

{$Kontakte[zeile].Telefon}

<body bgcolor="{#bgcolor#}">

   

Aus einem PHP-Skript zugewiesene Variablen

Variablen die in einem PHP Skript assigned mit zugewiesen wurden, müssen mit eine Dollar Zeichen $ versehen werden. Auf die gleiche Art werden Variablen ausgegeben, die im Template mit {assign} zugewiesen wurden.

Example 4.1. zugewiesene Variablen

PHP-Skript


<?php

$smarty = new Smarty;

$smarty->assign('vorname', 'Andreas');
$smarty->assign('nachname', 'Halter');
$smarty->assign('treffpunkt', 'New York');

$smarty->display('index.tpl');

?>

  

Mit folgendem index.tpl:


Hallo {$vorname} {$nachname}, schön, dass Du es einrichten kannst.
<br />
{*
  das hier funktioniert nicht, da bei Variablennamen auf
  Gross-Kleinschreibung geachtet werden muss:
*}
Diese Woche findet das Treffen in {$treffPunkt} statt.

{* aber das hier funktioniert: *}
Diese Woche findet das Treffen in {$treffpunkt} statt.

  

Ausgabe:


Hallo Andreas Halter, schön, dass Du es einrichten kannst.
<br />
Diese Woche findet das Treffen in  statt.
Diese Woche findet das Treffen in New York statt.

  

Assoziative Arrays

Sie können auch auf die Werte eines in PHP zugewiesenen assoziativen Arrays zugreifen, indem Sie den Schlüssel (Indexwert) nach einem '.'-Zeichen (Punkt) notieren.

Example 4.2. Zugriff auf Variablen eines assoziativen Arrays


<?php
$smarty->assign('kontakte',
    array('fax' => '555-222-9876',
          'email' => 'zaphod@slartibartfast.example.com',
          'telefon' => array('privat' => '555-444-3333',
                             'mobil'  => '555-111-1234')
                           )
         );
$smarty->display('index.tpl');
?>

   

Bei folgender index.tpl:


{$kontakte.fax}<br />
{$kontakte.email}<br />
{* auch multidimensionale Arrays können so angesprochen werden *}
{$kontakte.telefon.privat}<br />
{$kontakte.telefon.mobil}<br />

   

Ausgabe:


555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br />

   

Array Index

Arrays können - ähnlich der PHP-Syntax - auch über ihren Index angesprochen werden.

Example 4.3. Zugriff über den Array Index


<?php
$smarty->assign('kontakte', array(
                           '555-222-9876',
                           'zaphod@slartibartfast.example.com',
                            array('555-444-3333',
                                  '555-111-1234')
                            ));
$smarty->display('index.tpl');
?>

   

Bei folgendem index.tpl:


{$kontakte[0]}<br />
{$kontakte[1]}<br />
{* auch hier sind multidimensionale Arrays möglich *}
{$kontakte[0][0]}<br />
{$kontakte[0][1]}<br />

   

Ausgabe:


555-222-9876<br />
zaphod@slartibartfast.example.com<br />
555-444-3333<br />
555-111-1234<br />

   

Objekte

Attribute von aus PHP zugewiesenen Objekten können über das '->'-Symbol erreicht werden.

Example 4.4. Zugriff auf Objekt-Attribute


name: {$person->name}<br />
email: {$person->email}<br />

   

Ausgabe:


name: Zaphod Beeblebrox<br />
email: zaphod@slartibartfast.example.com<br />

   

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors