Scriptindex.de

[ Menü ]

Home
News
Scripts
Neuzugänge
Suchen
Bücher
Manuals

[ Inhalt ]

Script eintragen
Tutorial eintragen
Newsletter
Umfragen
Link zu uns
Werbung bei uns
Kontakt
Impressum

[ Statistik ]

Hits gesamt: 5203899
Hits Heute: 556
max. Hits (10.07.07): 6964
User Online: 24
Scripts: 2828

[ Partner ]

CodeBase
I.S.U.M.
LUG Bayreuth
PEAR NEWS
PHP Classes

[ Facebook ]

[ Eigene Domain? ]

[ Buchtipp ]

Objektorientierte Programmierung in Java. Das Einsteigerseminar
Objektorientierte Programmierung in Java. Das Einsteigerseminar

Manuals > Smarty > Template/Script Komponenten

18.6. Template/Script Komponenten

Dieser Tip ist nicht ausgiebig getestet, aber dennoch eine nette Idee. Verwendung auf eigene Gefahr. ;-)

Normalerweise werden Variablen dem Template wie folgt zugewiesen: In Ihrer PHP-Applikation werden die Variablen zusammengestellt (zum Beispiel mit Datenbankabfragen). Danach kreieren Sie eine Instanz von Smarty, weisen die Variablen zu und geben das Template aus. Wenn wir also zum Beispiel einen Börsenticker in unserem Template haben, stellen wir die Kursinformationen in unserer Anwendung zusammen, weisen Sie dem Template zu und geben es aus. Wäre es jedoch nicht nett diesen Börsenticker einfach in ein Template einer anderen Applikation einbinden zu können ohne deren Programmcode zu ändern?

Sie können PHP-Code mit in Ihre Templates einbetten. So können Sie Templates erstellen, welche die Datenstrukturen zur Anweisung der eigenen Variablen enthalten. Durch die Bindung von Template und Logik entsteht so eine eigenständig lauffähige Komponente.

Beispiel 18-7. Template/Script Komponenten

{* Smarty *} // unsere funktion um die börsenkurse zu holen function fetch_ticker($symbol,&$ticker_name,&$ticker_price) { // hier wird $ticker_name und $ticker_price zugewiesen } // aufruf der funktion fetch_ticker("YHOO",$ticker_name,$ticker_price); // zuweisung der variablen $this->assign("ticker_name",$ticker_name); $this->assign("ticker_price",$ticker_price); Symbol: Preis:

Seit Smarty 1.5.0, gibt es einen noch einfacheren und auch saubereren Weg in dem man die Logik mit {include_php ...} einbindet. So kann man weiterhin die Logik vom Design getrennt halten. Mehr Informationen gibt es in der include_php Dokumentation.

Beispiel 18-8. Template/Script Komponenten mit include_php

load_ticker.php --------------- <?php // unsere funktion um die börsenkurse zu holen function fetch_ticker($symbol,&$ticker_name,&$ticker_price) { // hier wird $ticker_name und $ticker_price zugewiesen } // aufruf der funktion fetch_ticker("YHOO",$ticker_name,$ticker_price); // zuweisung der variablen $this->assign("ticker_name",$ticker_name); $this->assign("ticker_price",$ticker_price); ?> index.tpl --------- {* Smarty *} {include_php file="load_ticker.php"} Symbol: Preis:

Copyright 1998 - 2009 by I.S.U.M.