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

Best Wedding Dresses Australia at AuBridalDresses.com

Advertisement

Block Functions

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

Las funciones de bloque son funciones de forma: {func} .. {/func}. En otras palabras, estas encapsulan un bloque del template y operan el contenido de este bloque. Las funciones de bloque toman precedencia sobre las funciones habituales con el mismo nombre, es decir, usted no puede tener ambas, las funciones habituales {func} y las funciones de bloque {func} .. {/func}.

Por default la implementación de su función es llamada dos veces por el Smarty: una vez por la etiqueta de apertura, y la otra por la etiqueta de cierre (vea &$repeat abajo para ver como hacer cambios a esto).

Solo la etiqueta de apertura de la función de bloque puede tener atributos. Todos los atributos pasados a las funciones de template estan contenidos en $params como un arreglo asociativo. Usted puede accesar a cualquiera de estos valores directamente, e.g. $params['start']. Los atributos de la etiqueta de apertura son también son accesibles a su función cuando se procesa la etiqueta de cierre.

El valor de la variable $content depende de que si su función es llamada por la etiqueta de cierre o de apertura. En caso de que la etiqueta sea de apertura, este será null, si la etiqueta es de cierre el valor será del contenido del bloque del template. Se debe observar que el bloque del template ya a sido procesado por el Smarty, asi todo lo que usted recibirá es la salida del template, no el template original.

El parámetro &$repeat es pasado por referencia para la función de implementación y proporciona la posibilidad de controlar cuantas veces será mostrado el bloque. Por default $repeat es true en la primera llamada de la block-function (etiqueta de apertura del bloque) y false en todas las llamadas subsecuentes a la función de boque (etiqueta de cierre del boque). Cada vez que es implementada la función retorna con el &$repeat siendo true, el contenido entre {func} .. {/func} es evaluado y es implementado a la función es llamada nuevamente con el nuevo contenido del bloque en el parámetro $content.

Si usted tiene funciones de bloque anidadas, es posible descubrir cual es el padre de la función de bloque accesando la variable $smarty->_tag_stack. Solo hacer un var_dump() sobre ella y la estrutura estara visible.

Vea tambien: register_block(), unregister_block().

Example 16.5. Función de bloque


<?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'];
        // do some intelligent translation thing here with $content
        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 4 plus 12? (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
GoDaddy Coupon @buy-hosting.net
First Click Internet Marketing @fcinternetmarketing.com