Smarty - Zugriff auf Php-Arrays und -Objekte

Nachfolgend werden ein paar kleine Anwendungsbeispiele gegeben, die den Umgang mit PHP-Arrays bzw. PHP-Objekten in Verbindung mit der Template-Engine Smarty zeigen.

Als erstes Beispiel dient ein einfaches Array (PHP-Datei ). Dieses wird der jeweiligen Template-Variable zuweisen (per assign):
/*** PHP-Datei - Bsp.1 ***/

$ary = array("Hallo", "Wie", "geht's?");
$smarty->assign('ary', $ary);


Der Zugriff im Template-File erfolgt wahlweise mittels foreach-Schleife:
{* Template-Datei - Bsp.1 *}

{foreach key=idx item=element from=$ary}
    <div>{$idx} = {$element}</div>
{/foreach}


oder per Index:
{* Template-Datei - Bsp.1 *}

<div>
    erstes Element = {$ary[0]},
    zweites Element = {$ary[1]},
    drittes Element = {$ary[2]}
</div>



Ein assoziatives Array dient als zweites Beispiel. Auch dies muss der entsprechenden Template-Variable zugewiesen werden.
/*** PHP-Datei - Bsp.2 ***/

$ary = array(
        'name' => 'Name',
        'str' => 'Strasse',
        'tel' => array(
                    'priv' => '12345',
                    'gesch' => '54321'
                    )
        );
$smarty->assign('ary', $ary);


Der Zugriff auf die jeweiligen Elemente erfolgt hierbei in der Template-Datei mittels des Schlüssels (Key):
{* Template-Datei - Bsp.2 *}

<div>
    Name = {$ary.name},
    Strasse = {$ary.str},
    Tel.(privat) = {$ary.tel.priv}
</div>


Als letztes Beispiel dient ein (mittels stdClass erzeugtes anonymes) Objekt. Dies wird mit Beispiel-Werten befüllt. Anschließend wird es - wie gehabt - einer Template-Variablen zugewiesen:
/*** PHP-Datei - Bsp.3 ***/

$obj = new stdClass();
$obj->name = 'Schmitt';
$obj->geb = '1965';

$obj->tel = new stdClass();
$obj->tel->priv = '12345';
$obj->tel->gesch = '54321';

$smarty->assign('obj', $obj);


Der Zugriff auf die Objekt-Eigenschaften erfolgt (im Template) per Pfeil-Operator und den Eigenschaftsbezeichnern:
{* Template-Datei - Bsp.3 *}

<div>
    Name = {$obj->name},
    Geburtsjahr = {$obj->geb},
    Tel.(privat)= {$obj->tel->priv}
</div>
 
 Artikel als Bookmark:
Beitrag wurde bisher 710 mal geöffnet
RA Zabel/Stolze
  • 96 Artikel  (zeigen)
  • 66543 Klicks
  • 56 Kommentare
  • 9 Artikel (2010)  (zeigen)
  • 1855 Klicks (2010)
  • 0 Kommentare (2010)
Freunde / Linkparade (4)