Get Smarty

Donate

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

Advertisement

Fuentes

Las fuentes de los plugins son como una forma generica de suministrar código fuente de template o componentes de script PHP al Smarty. Algunos ejemplos de fuentes: base de datos, LDAP, memoria compartida, sockets, etc.

Existe un total de 4 funciones que necesitan estar registradas para cada tipo de fuente. Cada función recibirá el fuente requerido como primer parámetro y el objeto de Smarty como ultimo parámetro. El resto de los parámetros dependen de la función.

bool smarty_resource_name_source( $rsrc_name,  
  &$source,  
  &$smarty);  
string $rsrc_name;
string &$source;
object &$smarty;
 
bool smarty_resource_name_timestamp( $rsrc_name,  
  &$timestamp,  
  &$smarty);  
string $rsrc_name;
int &$timestamp;
object &$smarty;
 
bool smarty_resource_name_secure( $rsrc_name,  
  &$smarty);  
string $rsrc_name;
object &$smarty;
 
bool smarty_resource_name_trusted( $rsrc_name,  
  &$smarty);  
string $rsrc_name;
object &$smarty;
 

La primera función debe devolver el recurso. Su segundo parámetro es una variable pasada por referencia donde el resultado debe ser almacenado. La función debe retornar true si esta pudo recuperar satisfactoriamente el recurso y en caso contrario retornara false.

La segunda función debe devolver la ultima modificación del recurso requerido (como un timestamp Unix). El segundo parámetro es una variable pasada por referencia donde el timestamp sera almacenado. La función debe retornar true si el timestamp pudo ser determinado satisfactoriamente, y en caso contrario retornara false.

La tercera función debe retornar true o false, dependiendo si el recurso requerido es seguro o no. Esta función es usada solo para recursos de template pero esta debe ser definida.

La cuarta función debe retornar true o false, dependiendo si el recurso requerido es seguro o no. Esta función es usada solo para componetes de script de PHP solicitado por las etiquetas include_php o insert con el atributo src. Sin embargo, este debe ser definido para los recurso del template.

Vea también register_resource(), unregister_resource().

Example 16.10. Plugin resource (recurso)


<?php
/*
 * Smarty plugin
 * ------------------------------------------------------------- 
 * File:     resource.db.php
 * Type:     resource
 * Name:     db
 * Purpose:  Fetches templates from a database
 * -------------------------------------------------------------
 */
function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
{
    // do database call here to fetch your template,
    // populating $tpl_source
    $sql = new SQL;
    $sql->query("select tpl_source
                   from my_table
                  where tpl_name='$tpl_name'");
    if ($sql->num_rows) {
        $tpl_source = $sql->record['tpl_source'];
        return true;
    } else {
        return false;
    }
}

function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
{
    // do database call here to populate $tpl_timestamp.
    $sql = new SQL;
    $sql->query("select tpl_timestamp
                   from my_table
                  where tpl_name='$tpl_name'");
    if ($sql->num_rows) {
        $tpl_timestamp = $sql->record['tpl_timestamp'];
        return true;
    } else {
        return false;
    }
}

function smarty_resource_db_secure($tpl_name, &$smarty)
{
    // assume all templates are secure
    return true;
}

function smarty_resource_db_trusted($tpl_name, &$smarty)
{
    // not used for templates
}
?>

     

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors