Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

$compile_id

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';

?>