include_php (PHP-Code einbinden) Attribut Name Typ Erforderlich Standardwert Beschreibung file string Ja n/a Der Name der einzubindenden PHP-Datei. once boolean Nein true Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird. assign string Nein n/a Der Name der Variable, der die Ausgabe von include_php zugewiesen wird. include_php-Tags werden verwendet, um PHP-Skripte in Ihre Templates einzubinden. Falls 'Sicherheit' aktiviert ist, muss das einzubindende Skript im '$trusted_dir' Pfad liegen. 'include_php' muss das Attribut 'file' übergeben werden, das den Pfad - entweder relativ zu '$trusted_dir' oder absolut - zum Skript enthält. include_php ist ein einfacher Weg, um modularisierte Templates zu verwenden und PHP-Code von HTML zu separieren. Sie haben zum Beispiel ein Template für die Seitennavigation, welche direkt aus der Datenbank bezogen wird. Die Logik, die den Datenbankinhalt bezieht, können sie in einer eigenen Datei ablegen und am Anfang Ihres Templates einbinden. Nun können Sie das Template überall wiederverwenden, ohne sich Gedanken zu machen, wie der Inhalt in die Navigationsstruktur gelangt. Normalerweise wird ein PHP-Skript nur einmal pro Aufruf geladen, selbst wenn es mehrfach eingebunden wird. Sie können dieses Verhalten durch die Verwendung des once Attributs steuern. Wenn Sie 'once' auf 'false' setzen, wird die Datei immer wenn sie eingebunden wird auch neu geladen. Optional kann das assign Attribut übergeben werden. Die Ausgabe von include_php wird dann nicht direkt eingefügt, sondern in der durch assign benannten Template-Variable abgelegt. Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über '$this' angesprochen werden. Funktion include_php lade_nav.php ------------- <?php // lade die Variablen aus einer MySQL-Datenbank und weise sie dem Template zu require_once("MySQL.class.php"); $sql = new MySQL; $sql->query("select * from site_nav_sections order by name",SQL_ALL); $this->assign($sections,$sql->record); ?> index.tpl --------- {* absoluter Pfad, oder relativ zu '$trusted_dir' *} {include_php file="/pfad/zu/lade_nav.php"} {foreach item=$aktuelle_section from=$sections} <a href="{$aktuelle_section.url}">{$aktuelle_section.name}</a><br> {/foreach}