Smarty - ein paar Fragen

Flextone

Erfahrenes Mitglied
Morgen,

ich habe mal ein paar Fragen zum Thema "Smarty".
Vorweg - ich habe mir das Smarty Pack schon geladen, es läuft soweit und ich habe mir auch schon einige Dokumentationen angesehen.
Nun habe ich aber ein paar Fragen die ich durch Suchen im Internet noch nicht erklären konnte.

1. Wie kann ich im Smarty definieren (ähnlich XT Commerce) das ich im Main Template durch einbinden von ### BOX_LEFT ### ein HTML Template aus Ordner XY ziehe die den Namen box_left.html hat.

2. Wie kann ich für diese eine Box dann eine PHP Datei erstellen, die den Datenbankinhalt für die BOX_LEFT hat? Ich habe mal versucht eine zweite PHP Datei zu erstellen, und dann durch das assign und display den Wert in der BOX ausgebenzulassen, aber es kommt zu keiner Ausgabe.

3. Wenn ich generelle Zeichen, Namen etc. irgendwo innerhalb der Seite aufrufen will, muss ich diese dann alle innerhlab der index.php assign oder macht man das dann besser innerhalb einer eigenen php Datei?

Danke für eure Hilfe!
 
Weiß zwar jetzt nicth so genau was du willst, aber ich mache es wie folgt:

in der index.tpl werden zum Beispiel div boxes definiert. Zum Beispiel header.tpl, navigation.tpl, content.tpl..usw geht mit {include file=nav.tpl}...so weit so gut.

Datenbank fragst du mit normalen PHP, oder mit was auch immer du willst raus, schmeißt es in einen array (zum Beispiel) und übergibst es mit assign(..., ...) dann kannst du es in jedem Template benutzen (siehe auch foreach)

Wo du die variablen mit assign übergibst ist deine Sache, ich habe da immer eine spezielle function.inc.php wo das drinnen ist, und eigene für die Admin Bereich Infos..usw wie du in PHP Ordnung hälst, wirst eh selber schon wissen.

lg und ich hoffe ich konnte ein wenig helfen
Darian
 
in dein Main-Template kommt ein Platzhalter für dein Inhalt: z.B.:
Code:
{$Test_Inhalt}

und in deine *.php Datei (z.B. in deine index.php) kommt dann für den Platzhalter der Code, der diesen dann ersetzt:
PHP:
$smarty->assign("Test_Inhalt", $smarty->fetch("./ordner/templates/Formular.tpl"));
$smarty->display("index.tpl");

Alles in alles ist es dann so:
- Du hast dein Design (zB: index.tpl - was auch im $smarty->display())
- in dieser index.tpl ist dein Platzhalter: {$Test_Inhalt}
- dieser Platzhalter holt dir in die index.tpl eine andere Datei. In diesem Fall die Formular.tpl

---
Hoffe konnte helfen ..

Grüße
braini
 
Zurück