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

insert

Nombre del Atributo Tipo Requerido Default Descripción
name string Si n/a El nombre de la función insert(insert_name)
assign string No n/a El nombre de la variable del template que recibirá la salida
script string No n/a El nombre de un php que será incluido antes que la función insert sea llamada
[var ...] [var type] No n/a Variable para pasar a la función insert

La etiqueta funciona parecido a las etiquetas {include}, excepto que las etiquetas insert no van para el cache cuando caching esta activado. Esta sera executada a cada invocación del template.

Digamos que usted tiene un template con un banner en la parte de arriba de la pagina. El banner puede contener cualquier mezcla de HTML, imagenes, flash, etc. Así nosotros no podemos usar una liga(link) estatica aquí, y nosotros no queremos que este el contenido oculto con la pagina. Aquí vemos la etiqueta {insert}: el template conoce los valores #banner_location_id# y #site_id# (obtenidos de un archivo de configuración), y necesita llamar una función para obtener el contenido del banner.

Example 7.12. función {insert}

{* ejemplo de traer un banner *}
{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}

En este ejemplo, nosotros estamos usando el nombre "getBanner" y pasando los parámetros #banner_location_id# y #site_id#. El Smarty lo buscara en la función llamada insert_getBanner() en su aplicación PHP, pasando los valores de #banner_location_id# y #site_id# como primer argumento en una matriz asociativa. Todos los nombres de las funciones insert en su aplicación deben ser precedidas por "insert_" para prevenir posibles problemas con nombres de funciones repetidos. Su función insert_getBanner() debe hacer algo con los valores pasados y retornar los resultados. Estos resultados son mostrados en el template en lugar de la etiqueta insert. En este ejemplo, el Smarty llamara esta función: insert_getBanner(array("lid" => "12345","sid" => "67890")); y mostrara el resultado retornado en el lugar de la etiqueta insert.

Si usted proporciona el atributo "assign", la salida de la etiqueta {insert} será dada a esta variable en vez de ser una salida en el template. Nota: definir la salida a una variable no es util cuando el cache esta habilitado.

Si usted proporciona el atributo "script", este script php será incluido (solo una vez) antes de la ejecución de la función {insert}. Este es el caso donde la función insert no exista todavia, y el script php debe ser incluido antes para que pueda funcionar. La ruta puede ser absuluta o relativa a $trusted_dir. Cuando la seguridad esta activada, el script debe estar en $trusted_dir.

El objeto Smarty es pasado como segundo argumento. De este modo puede referenciar y modificar información del objeto Smarty dentro de la función.

Nota Tecnica

Es posible tener partes del template fuera de la cache. Si usted tuviera caching activado, la etiqueta insert no podra heredar por la cache. Esta sera ejecutada dinámicamente cada vez que la pagina sea creada, igual con paginas en cache. Esto funciona bien para cosas como banners, encuestas, clima, busqueda de resultados, areas de opinión de usuario, etc.

Comments
No comments for this page.

Advertisement

Sponsors [info]

Sponsors