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:
Persistenter 'compile-identifier'. Anstatt jedem Funktionsaufruf die selbe '$compile_id' zu übergeben, kann eine individuelle '$compile_id' gesetzt werden. Das ist z. B. sinnvoll, um in Kombination mit einem 'prefilter' verschiedene Sprach-Versionen eines Template kompilieren.
Mit einer individuellen $compile_id können Sie das Problem beheben, dass Sie nicht das gleiche $compile_dir für unterschiedliche $template_dirs verwenden können. Wenn Sie eine eindeutige $compile_id für jedes $template_dir setzen, dann kann Smarty die kompilierten Templates anhand ihrer $compile_id auseinanderhalten.
Ein Beispiel ist die Lokalisierung (also die Übersetzung sprachabhängiger Teile) durch einen prefilter während der Kompilierung des Templates. Sie können dort die aktuelle Sprache als $compile_id verwenden und erhalten damit für jede Sprache einen eigenen Satz von Templates.
Ein anderes Beispiel ist die Verwendung des selben Compile-Verzeichnisses für verschiedene Domains / verschiedene Virtual Hosts.
Example 12.4. $compile_id in einer Virtual Host Umgebung
<?php $smarty->compile_id = $_SERVER['SERVER_NAME']; $smarty->compile_dir = '/path/to/shared_compile_dir'; ?>