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:
Normalerweise werden Variablen dem Template wie folgt zugewiesen: In Ihrer PHP-Applikation werden die Variablen zusammengestellt (zum Beispiel mit Datenbankabfragen). Danach kreieren Sie eine Instanz von Smarty, weisen die Variablen mit assign() zu und geben das Template mit display() aus. Wenn wir also zum Beispiel einen Börsenticker in unserem Template haben, stellen wir die Kursinformationen in unserer Anwendung zusammen, weisen Sie dem Template zu und geben es aus. Wäre es jedoch nicht nett diesen Börsenticker einfach in ein Template einer anderen Applikation einbinden zu können ohne deren Programmcode zu ändern?
Sie können PHP-Code mit {php}{/php} in Ihre Templates einbetten. So können Sie Templates erstellen, welche die Datenstrukturen zur Anweisung der eigenen Variablen enthalten. Durch die Bindung von Template und Logik entsteht so eine eigenständig lauffähige Komponente.
Example 18.7. Template/Script Komponenten
function.load_ticker.php
-
Diese Datei gehört ins $plugins directory
<?php // setup our function for fetching stock data function fetch_ticker($symbol) { // put logic here that fetches $ticker_info // from some ticker resource return $ticker_info; } function smarty_function_load_ticker($params, $smarty) { // call the function $ticker_info = fetch_ticker($params['symbol']); // assign template variable $smarty->assign($params['assign'], $ticker_info); } ?>
index.tpl
{load_ticker symbol="YHOO" assign="ticker"} Stock Name: {$ticker.name} Stock Price: {$ticker.price}