Smarty-Template-Engine, wie geht man vor

Hawkster

Erfahrenes Mitglied
Hallo allesamt,

versuche mich derzeit etwas in Smarty einzuarbeiten, erkenne auch die Vorteile darin aber dennoch habe ich so meine Probleme es richtig anzuwenden.
Bisher Programmiere ich meine Websites eigentlich immer so, das in der index.php alles included wird was ich brauche.
Und über index.php?page=info werden dann immer die jeweils anderen Contents included.

Meine index.php ist dann so aufgebaut, das ich das Menu über Includes reinhole (welches auch eine PHP-Datei ist da ich diese Dynamisch erzeigen lasse)und den Content über includes.

Nur weiß ich noch nicht wie ich das genau in Smarty machen soll.

Denn jegliches Beispiel was ich von Smarty finde ist immer so, das es nur eine Seite gibt die angezeigt wird, aber nicht wie man vorgehen sollte wenn man viel Wechselnden Content hat :(

Mit freundlichen Grüßen,
Hawkster
 
Grundsätzlich funktioniert Smarty so:

Du erzeugst ein Smarty-Objekt. An dieses Smarty-Objekt hängst du deine dynamischen Inhalte an. Danach renderst du mit Hilfe des Objekts deine Ausgabe. Ein Beispiel sieht so aus:

index.php
PHP:
include "Smarty.php";

$smarty = new Smarty();

/**
 * @return array with the following structure
 * array (
 *   'Hauptseite' => '/index.php',
 *   'Kontakt' => '/index.php?side=kontakt'
 * );
 **/
$navigation = hole_navigations_links();

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

$smarty->render('homepage.tpl');

Dann hast du ein Template hompage.tpl:
Code:
<ul class="mainnavigation">
{foreach key=linktext item=linkurl from=$navigation}
  <li><a href="{$linkurl}">{$linktext}</a></li>
{/foreach}
</ul>

Letzendlich sind die Template-Befehle nur Wrapper-Funktionen, um PHP-Code in Templates zu vermeiden.
 
Zuletzt bearbeitet:
Zurück