Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Vorwort
1 Einleitung
2 Einführung in eZ Components
3 Die Applikationsbasis
4 Fehlerbehandlung und Debugging
5 Konfiguration
6 Datenbankanbindung
7 ORM mit PersistentObject
8 Template
9 Übersetzung
10 Benutzereingaben validieren
11 Authentifizierung
12 Bildverarbeitung
13 Archive und Dateien
14 Mail
15 Logging
16 Diagramme
17 Feeds und Caching
18 Setup
A Inhalt der Buch-CD
Stichwort

Download:
- ZIP, ca. 2,7 MB
Ihre Meinung?

Spacer
<< zurück
eZ Components von Tobias Schlitt, Kore Nordmann
Das Entwickler-Handbuch
Buch: eZ Components

eZ Components
geb., mit CD
454 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1073-7
Pfeil 8 Template
Pfeil 8.1 Template-Komponente
Pfeil 8.2 Cross-Site-Scripting
Pfeil 8.2.1 Ausgabe-Kontext in der Template-Komponente
Pfeil 8.3 Integration in das Blog
Pfeil 8.3.1 Initialisierung der Template-Komponente
Pfeil 8.3.2 Übergabe von Inhalten an das Template
Pfeil 8.3.3 Wichtige Variablen
Pfeil 8.3.4 Ausgabe
Pfeil 8.3.5 Template-Struktur im Blog
Pfeil 8.3.6 Das pagelayout-Template
Pfeil 8.3.7 Einbinden von Modul-Templates in die Applikation
Pfeil 8.3.8 Liste der Blog-Einträge
Pfeil 8.3.9 Vollansicht eines Blog-Eintrags
Pfeil 8.3.10 Gebietsabhängiges Datum
Pfeil 8.4 Weitere Möglichkeiten der Template-Komponente
Pfeil 8.4.1 Rückgaben verarbeiten
Pfeil 8.4.2 Eigene Template-Blöcke definieren
Pfeil 8.5 Fazit


Galileo Computing - Zum Seitenanfang

8.4 Weitere Möglichkeiten der Template-Komponente Zur nächsten ÜberschriftZur vorigen Überschrift

Wie bereits erwähnt, ist es möglich, mit ezcTemplate Werte aus Templates zurückzugeben und diese in der einbindenden Applikation weiterzuverarbeiten.


Galileo Computing - Zum Seitenanfang

8.4.1 Rückgaben verarbeiten Zur nächsten ÜberschriftZur vorigen Überschrift

Wenn ein einfacher Algorithmus für die Darstellungslogik implementiert werden muss, so ist es für den Entwickler der Templates nicht immer möglich, eigene Template-Funktionen zu implementieren, sei es, weil kein Zugriff auf die Applikation besteht oder der Entwickler kein PHP beherrscht. In einem solchen Fall ist es denkbar, Teil-Templates inklusive ihrer Möglichkeit, beliebig viele Werte zurückzugeben, als Funktionen zu verwenden. In dem folgenden Beispiel wird die Fakultät einer Zahl berechnet, denn hierfür steht in der Template-Komponente bislang keine Funktion bereit.

{use $number=1}

{var $result = 1,
     $i = 2}

{while $i <= $number}
    {$result = $result * $i}
    {$i++}
{/while}

{return $result}

Listing 8.19 Rückgabe der Fakultät aus dem Template

Das Template und der Algorithmus zur Berechnung der Fakultät sind einfach. In der ersten Zeile wird die Variable $number importiert. Falls diese nicht verfügbar ist, soll sie mit 1 initialisiert werden. Danach werden zwei lokale Variablen deklariert, die während der Schleife zur Berechnung gebraucht werden. Der Algorithmus selbst ist trivial: Solange $i kleiner oder gleich $number ist, wird das bisherige Ergebnis mit $i multipliziert, welches daraufhin um 1 erhöht wird. Zum Schluss wird das berechnete Ergebnis zurückgegeben. Optional lässt sich im return-Block die Variable über as umbenennen, wie Sie es von send gewöhnt sind. Dieses Template lässt sich direkt aus PHP verwenden und der Rückgabewert aus der Applikation abfragen.

$template->send->number = 6;
$template->process( 'faculty.ezt' );
echo 'Result: ', $template->receive->result;

Listing 8.20 Berechnung der Fakultät einer Zahl aus PHP heraus

Nachdem die Template-Komponente wie bekannt initialisiert wurde, kann über send der Template-Variablen $number ein Wert zugewiesen werden und daraufhin das Template ausgeführt werden. Nach der Ausführung des Templates sind die Rückgaben über die $receive-Eigenschaft des Template-Objekts verfügbar. Dementsprechend lautet die Ausgabe des obigen Codes wie folgt:

Result: 720

Auch innerhalb von Templates lassen sich Rückgaben anderer Templates erfragen und weiterverarbeiten, wie das folgende Beispiel zeigt.

{include 'faculty.ezt'
    send '5' as $number
    receive $result as $faculty}

Ergebnis: {$faculty}

Listing 8.21 Berechnung der Fakultät einer Zahl aus einem Template heraus

Neben dem bekannten Verfahren, Werte über $send an das Template zu senden, lassen sich über $receive Variablen, auch umbenannt, zurückerhalten. In dem gezeigten Listing wird das erhaltene Ergebnis in der fünften Zeile ausgegeben. In diesem Fall ist das erwartete Resultat 120.


Galileo Computing - Zum Seitenanfang

8.4.2 Eigene Template-Blöcke definieren topZur vorigen Überschrift

Als Template-Block werden Strukturen, wie für raw verwendet, bezeichnet. Auch diese lassen sich selbst definieren. So findet sich als Beispielimplementierung ein Brainfuck [http://de.wikipedia.org/wiki/Brainfuck ] -Interpreter in der Dokumentation zur Template-Komponente. Dies funktioniert ähnlich der Definition einer eigenen Template-Funktion und ist online im Tutorial beschrieben. [http://ezcomponents.org/docs/api/latest/introduction_Template.html#custom-blocks ]

Abbildung 8.3 Blog-Einträge mit deutschem Datum



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: PHP 5.3 und MySQL 5.1






 PHP 5.3 und
 MySQL 5.1


Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


Zum Katalog: Webshops mit Magento






 Webshops mit
 Magento


Zum Katalog: Sichere Webanwendungen






 Sichere
 Webanwendungen


Zum Katalog: PHP 5.3 und MySQL 5.1 - Videotraining






 PHP 5.3 und
 MySQL 5.1 -
 Videotraining


Zum Katalog: Apache 2






 Apache 2


Zum Katalog: Suchmaschinen-Optimierung für Webentwickler






 Suchmaschinen-
 Optimierung
 für Webentwickler


Zum Katalog: Joomla! 1.5






 Joomla! 1.5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de