What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
Table of Contents
In Version 2.0 wurde die Plugin-Architektur eingeführt, welche für fast alle anpassbaren Funktionalitäten verwendet wird. Unter anderem:
Für die Abwärtskompatibilität wurden das register_* API zur Funktions-Registrierung
beibehalten. Haben Sie früher nicht die API-Funktionen benutzt, sondern die Klassen-Variablen
$custom_funcs
, $custom_mods
und andere direkt
geändert, müssen Sie Ihre Skripte so anpassen, dass diese das API verwenden.
Oder sie implementieren die Funktionalitäten alternativ mit Plugins.
Plugins werden immer erst bei Bedarf geladen. Nur die im Template verwendeten Funktionen, Ressourcen, Variablen-Modifikatoren, etc. werden geladen. Des weiteren wird jedes Plugin nur einmal geladen, selbst wenn mehrere Smarty-Instanzen im selben Request erzeugt werden.
'pre'/'post'-Filter machen die Ausnahme. Da sie in den Templates nicht direkt erwähnt werden, müssen sie zu Beginn der Ausführung explizit via API geladen oder registriert werden. Die Reihenfolge der Anwendung mehrerer Filter desselben Typs entspricht der Reihenfolge in der sie geladen/registriert wurden.
Die plugins directory Variable kann eine Zeichenkette, oder ein Array mit Verzeichnisnamen sein. Um einen Plugin zu installieren können Sie ihn einfach in einem der Verzeichnisse ablegen.