include_php-Funktion
include_php-Funktion:
include_php ist eine gute Möglichkeit, das Problem der Vorlagenkomponentisierung zu lösen, das PHP erstellt Der Code ist von der Vorlagendatei getrennt. Beispiel: Angenommen, es gibt eine Vorlage, die dynamisch Daten aus der Datenbank abruft, um die Site-Navigation anzuzeigen. Sie können den Dateninhalt in PHP abrufen Trennen Sie den logischen Teil und speichern Sie ihn in einem separaten Ordner,
und fügen Sie das PHP-Skript am Anfang der Vorlage ein. Dann können Sie diese Vorlage überall einfügen, ohne sich um die vorherige Datenbank kümmern zu müssen Die Informationen wurden vom Programm abgerufen.
Auch wenn die PHP-Dateien mehrfach in der Vorlage aufgerufen werden, werden sie standardmäßig nur einmal eingebunden. Sie können das Once-Attribut festlegen, um anzugeben, dass die Datei bei jedem Aufruf erneut einbezogen wird.
Wenn das Once-Attribut auf „false“ gesetzt ist, wird die Datei bei jedem Aufruf erneut einbezogen Aufruf.
Wenn das Zuweisungsattribut festgelegt ist, wird der diesem Attribut entsprechende Variablenname verwendet, um die einzubindende PHP-Ausgabe zu speichern, sodass PHP einzubinden ist Die Ausgabe der Datei wird nicht direkt angezeigt.
Auf Smarty kann über $this in der einzubindenden PHP-Datei zugegriffen werden Objekt.
load_nav.php:
<?php // load in variables from a mysql db and assign them to the template // 从mysql数据库中取得数据,将数据赋给模板变量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:
{* absolute path, or relative to $trusted_dir *} {* 绝对路径或 $trusted_dir 的相对路径 *} {include_php file="/path/to/load_nav.php"} {foreach item="curr_section" from=$sections} <a href="{$curr_section.url}">{$curr_section.name}</a><br> {/foreach}