include_php (PHP-Code einbinden)
Die Verwendung von {include_php} wird nicht mehr empfohlen, die
gleiche funktionalität kann auch mit Template/Script
Komponenten erreicht werden.
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.
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.
Beispiel 7-12. 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);
?> |
Bei folgendem 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} |
|
Siehe auch {include}, {php}, {capture}, Template Ressourcen and Template/Script
Komponenten