Get Smarty

Donate

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

Buy cheap glasses from Cheapglasses123.com and save up to 80%.

Where to buy prescription glasses? EyewearCanada.com is your best choice!

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Shop for 2018 World Cup Football Boots Online sale at guthjcc.com

Browse best 2018 world cup soccer cleats and shoes from SoccerAzteca.com

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.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 13 plus 7? (Are you human?)

Advertisement