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:
display (ausgeben)
void display(string template,
string cache_id,
string compile_id);
Gibt ein Template aus. Sie müssen einen gültigen Template Ressourcen-Typ inklusive Pfad angeben. Als optionalen zweiten Parameter können Sie eine 'cache_id' übergeben. Konsultieren Sie den Abschnitt über caching für weitere Informationen.
Als optionalen dritten Parameter können Sie eine 'compile_id' übergeben. Dies ist wertvoll, falls Sie verschiedene Versionen eines Templates kompilieren wollen - zum Beispiel in verschiedenen Sprachen. 'compile_id' wird auch verwendet, wenn Sie mehr als ein '$template_dir' aber nur ein '$compile_dir' haben. Setzen Sie dazu für jedes Verzeichnis eine eigene 'compile_id', andernfalls werden Templates mit dem gleichen Namen überschrieben. Sie können die Variable $compile_id auch einmalig setzen, anstatt sie bei jedem Aufruf von 'display()' zu übergeben.
Example 13.12. display (ausgeben)
<?php include("Smarty.class.php"); $smarty = new Smarty; $smarty->caching = true; // Datenbank-Aufrufe nur durchführen, wenn kein Cache existiert if(!$smarty->is_cached("index.tpl")) { // Beispieldaten $address = "245 N 50th"; $db_data = array( "City" => "Lincoln", "State" => "Nebraska", "Zip" => "68502" ); $smarty->assign("Name","Fred"); $smarty->assign("Address",$address); $smarty->assign($db_data); } // ausgabe $smarty->display("index.tpl"); ?>
Verwenden Sie die Syntax von template resources um Dateien ausserhalb von '$template_dir' zu verwenden.
Example 13.13. Beispiele von Template-Ressourcen für 'display()'
<?php // absoluter Dateipfad $smarty->display("/usr/local/include/templates/header.tpl"); // absoluter Dateipfad (alternativ) $smarty->display("file:/usr/local/include/templates/header.tpl"); // absoluter Dateipfad unter Windows (MUSS mit 'file:'-Prefix versehen werden) $smarty->display("file:C:/www/pub/templates/header.tpl"); // aus der Template-Ressource 'db' einbinden $smarty->display("db:header.tpl"); ?>