Get Smarty

Donate

Donate Bitcoin Bitcoin
Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Largest classified with thousands of ads at Shoppok

Buy cheap eyeglasses from Cheapglasses123.com and save up to 80%.

Buy prescription glasses from www.australiaglasses.com and save.

Cheap Glasses Now On Sale at GlassesPeople.com. Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Find Wedding Dresses Online at Canada from Ca-dresses.com

Find your local domestic cleaner

Read these great ice cream maker reviews

Brautkleider auf Topwedding.de

Advertisement

Block-Funktionen

void smarty_function_name( $params,  
  $content,  
  &$smarty,  
  &$repeat);  
array $params;
mixed $content;
object &$smarty;
boolean &$repeat;
 

Block-Funktionen sind Funktionen, die in der Form {func} .. {/func} notiert werden. Mit anderen Worten umschliessen sie einen Template-Abschnitt und arbeiten danach auf dessen Inhalt. Eine Block-Funktion {func} .. {/func} kann nicht mir einer gleichnamigen Template-Funktion {func} überschrieben werden.

Ihre Funktions-Implementation wird von Smarty zweimal aufgerufen: einmal für das öffnende und einmal für das schliessende Tag. (konsultieren Sie den Abschnitt zu &$repeat um zu erfahren wie Sie dies ändern können.)

Nur das Öffnungs-Tag kann Attribute enthalten. Alle so übergebenen Attribute werden als assoziatives Array $params der Template-Funktion übergeben. Sie können auf die Werte entweder direkt mit $params['start'] zugreifen oder sie mit extract($params) in die Symbol-Tabelle importieren. Die Attribute aus dem Öffnungs-Tag stehen auch beim Aufruf für das schliessende Tag zur Verfügung.

Der Inhalt der $content Variable hängt davon ab, ob die Funktion für das öffnende Tag oder für das schliessende Tag aufgerufen wird. Für das öffnende Tag ist der Wert null, für das schliessende Tag ist es der Inhalt des Template-Abschnitts. Achtung: Der Template-Abschnitt den Sie erhalten, wurde bereits von Smarty bearbeitet. Sie erhalten also die Template-Ausgabe, nicht den Template-Quelltext.

Der Parameter &$repeat wird als Referenz übergeben und kontrolliert wie oft ein Block dargestellt werden soll. Standardwert von $repeat ist beim ersten Aufruf (für das öffnende Tag) true, danach immer false. Jedes Mal wenn eine Funktion für &$repeat TRUE zurück gibt, wird der Inhalt zwischen {func} .. {/func} erneut mit dem veränderten Inhalt als $content Parameter aufgerufen.

Wenn Sie verschachtelte Block-Funktionen haben, können Sie die Eltern-Block-Funktion mit der $smarty->_tag_stack Variable herausfinden. Lassen Sie sich ihren Inhalt mit 'var_dump()' ausgeben. Die Struktur sollte selbsterklärend sein.

Sehen Sie dazu: register_block(), unregister_block().

Example 16.5. Block-Funktionen


<?php
/*
 * Smarty plugin
 * -------------------------------------------------------------
 * File:     block.translate.php
 * Type:     block
 * Name:     translate
 * Purpose:  translate a block of text
 * -------------------------------------------------------------
 */
function smarty_block_translate($params, $content, &$smarty, &$repeat)
{
    if (isset($content)) {
        $lang = $params['lang'];
		// den $content irgendwie intelligent &uuml;bersetzen
        return $translation;
    }
}
?>

     

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 12 plus 4? (Are you human?)

Advertisement

Sponsors [info]

UK Web Hosting @webhost.uk.net
Best Web Hosting @rshosting.com
Web Hosting UK @webhostinguk.com
Unlimited Web Hosting @infrenion.com
App Entwicklung @morphodo.com
First Click Internet Marketing @fcinternetmarketing.com