register_block()

register_block() -- Registra dinamicamente bloques de funciones de plugins

Descripción

void register_block ( string name, mixed impl, bool cacheable, mixed cache_attrs)

Use este para registrar dinámicamente bloques de funciones de plugins. Pase el bloque de nombres de función, seguido por una llamada de función PHP que implemente esto.

La llamada de una funcion-php impl puede ser cualquier (a) cadena conteniendo el nombre de la función o (b) un arreglo con el formato array(&$object, $method) con &$object siendo la referencia a un objeto y $method siendo una cadena conteniendo el nombre del método o (c) un arreglo con el formato array(&$class, $method) con $class siendo un nombre de clase y $method siendo un método de esta clase.

cacheable y cache_attrs pueden ser omitidos en la mayoria de los casos. Vea Controlando modos de salida de cache de los plugins para saber como usar las propiedades.

Ejemplo 13-1. register_block()

<?php
$smarty
->register_block('translate''do_translation');

function 
do_translation ($params$content, &$smarty, &$repeat
{
  if (isset(
$content)) {
    
$lang $params['lang'];
    
// do some translation with $content
    
return $translation;
  }
}
?>

Donde el template es:

{* template *}
{translate lang="br"}
Hello, world!
{/translate}

Ver también unregister_block() y Plugin Block Functions.