insertNombre del AtributoTipoRequeridoDefaultDescripciónnamestringSin/aEl nombre de la función insert(insert_name)assignstringNon/aEl nombre de la variable del template que recibirá la
salidascriptstringNon/aEl nombre de un php que será incluido antes que la
función insert sea llamada [var ...][var type]Non/aVariable 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.
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
activo.
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.