mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-10-31 20:31:41 +01:00 
			
		
		
		
	
		
			
	
	
		
			128 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
		
		
			
		
	
	
			128 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
|   | <?xml version="1.0" encoding="iso-8859-1"?> | ||
|  | <!-- $Revision$ --> | ||
|  | 		<sect1 id="language.function.include.php"> | ||
|  | 			<title>include_php (PHP-Code einbinden)</title> | ||
|  |             <informaltable frame="all"> | ||
|  |                 <tgroup cols="5"> | ||
|  |                 <colspec colname="param" align="center" /> | ||
|  |                 <colspec colname="type" align="center" /> | ||
|  |                 <colspec colname="required" align="center" /> | ||
|  |                 <colspec colname="default" align="center" /> | ||
|  |                 <colspec colname="desc" /> | ||
|  |                 <thead> | ||
|  |                     <row> | ||
|  |                         <entry>Attribut Name</entry> | ||
|  |                         <entry>Typ</entry> | ||
|  |                         <entry>Erforderlich</entry>        | ||
|  |                         <entry>Standardwert</entry> | ||
|  |                         <entry>Beschreibung</entry> | ||
|  |                     </row> | ||
|  |                 </thead> | ||
|  |                 <tbody> | ||
|  |                     <row> | ||
|  |                         <entry>file</entry> | ||
|  |                         <entry>string</entry> | ||
|  |                         <entry>Ja</entry> | ||
|  |                         <entry><emphasis>n/a</emphasis></entry> | ||
|  |                         <entry>Der Name der einzubindenden PHP-Datei.</entry> | ||
|  |                     </row> | ||
|  |                     <row> | ||
|  |                         <entry>once</entry> | ||
|  |                         <entry>boolean</entry> | ||
|  |                         <entry>Nein</entry> | ||
|  |                         <entry><emphasis>true</emphasis></entry> | ||
|  |                         <entry>Definiert ob die Datei mehrmals geladen werden soll, falls sie mehrmals eingebunden wird.</entry> | ||
|  |                     </row> | ||
|  |                     <row> | ||
|  |                         <entry>assign</entry> | ||
|  |                         <entry>string</entry> | ||
|  |                         <entry>Nein</entry> | ||
|  |                         <entry><emphasis>n/a</emphasis></entry> | ||
|  |                         <entry>Der Name der Variable, der die Ausgabe von include_php zugewiesen wird.</entry> | ||
|  |                     </row> | ||
|  |                 </tbody> | ||
|  |                 </tgroup> | ||
|  |             </informaltable> | ||
|  | 			<para> | ||
|  | 			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. | ||
|  | 			</para> | ||
|  | 			<para> | ||
|  | 			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. | ||
|  | 			</para> | ||
|  | 			<para> | ||
|  | 			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 <emphasis>once</emphasis> Attributs | ||
|  | 			steuern. Wenn Sie 'once' auf 'false' setzen, wird die Datei immer | ||
|  | 			wenn sie eingebunden wird auch neu geladen. | ||
|  | 			</para> | ||
|  | 			<para> | ||
|  | 			Optional kann das <emphasis>assign</emphasis> Attribut übergeben werden. | ||
|  | 			Die Ausgabe von <emphasis>include_php</emphasis> wird dann nicht direkt eingefügt, | ||
|  | 			sondern in der durch assign benannten Template-Variable abgelegt. | ||
|  | 			</para> | ||
|  | 			<para> | ||
|  | 			Das Objekt '$smarty' kann in dem eingebundenen PHP-Script über '$this' angesprochen werden. | ||
|  | 			</para> | ||
|  | <example> | ||
|  | <title>Funktion include_php</title> | ||
|  | <programlisting> | ||
|  | 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}</programlisting> | ||
|  | </example> | ||
|  | </sect1> | ||
|  | <!-- Keep this comment at the end of the file
 | ||
|  | Local variables: | ||
|  | mode: sgml | ||
|  | sgml-omittag:t | ||
|  | sgml-shorttag:t | ||
|  | sgml-minimize-attributes:nil | ||
|  | sgml-always-quote-attributes:t | ||
|  | sgml-indent-step:1 | ||
|  | sgml-indent-data:t | ||
|  | indent-tabs-mode:nil | ||
|  | sgml-parent-document:nil | ||
|  | sgml-default-dtd-file:"../../../../manual.ced" | ||
|  | sgml-exposed-tags:nil | ||
|  | sgml-local-catalogs:nil | ||
|  | sgml-local-ecat-files:nil | ||
|  | End: | ||
|  | vim600: syn=xml fen fdm=syntax fdl=2 si | ||
|  | vim: et tw=78 syn=sgml | ||
|  | vi: ts=1 sw=1 | ||
|  | --> |