Files
smarty/docs/es/designers/language-builtin-functions/language-function-insert.xml

143 lines
6.1 KiB
XML
Raw Normal View History

2004-10-07 18:50:52 +00:00
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<sect1 id="language.function.insert">
<title>insert</title>
<informaltable frame="all">
<tgroup cols="5">
<colspec colname="param" align="center" />
<colspec colname="type" align="center" />
<colspec colname="required" align="center" />
<colspec colname="default" align="center" />
<colspec colname="desc" />
<thead>
<row>
<entry>Nombre del Atributo</entry>
<entry>Tipo</entry>
<entry>Requerido</entry>
<entry>Default</entry>
<entry>Descripci<EFBFBD>n</entry>
</row>
</thead>
<tbody>
<row>
<entry>name</entry>
<entry>string</entry>
<entry>Si</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>El nombre de la funci<63>n insert(insert_name)</entry>
</row>
<row>
<entry>assign</entry>
<entry>string</entry>
<entry>No</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>El nombre de la variable del template que recibir<69> la
salida</entry>
</row>
<row>
<entry>script</entry>
<entry>string</entry>
<entry>No</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>El nombre de un php que ser<65> incluido antes que la
funci<63>n insert sea llamada </entry>
</row>
<row>
<entry>[var ...]</entry>
<entry>[var type]</entry>
<entry>No</entry>
<entry><emphasis>n/a</emphasis></entry>
<entry>Variable para pasar a la funci<63>n insert</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
La etiqueta funciona parecido a las etiquetas include, excepto
que las etiquetas insert no van para el cache cuando
<link linkend="caching">caching</link> esta activado.
Esta sera executada a cada invocaci<63>n del template.
</para>
<para>
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<41> nosotros no podemos usar una liga(link) estatica aqu<71>,
y nosotros no queremos que este el contenido oculto con la pagina.
Aqu<71> vemos la etiqueta insert: el template conoce los valores
#banner_location_id# y #site_id# (obtenidos de un archivo de configuraci<63>n),
y necesita llamar una funci<63>n para obtener el contenido del banner.
</para>
<example>
<title>funci<EFBFBD>n insert</title>
<programlisting>
{* ejemplo de traer un banner *}
{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}</programlisting>
</example>
<para>
En este ejemplo, nosotros estamos usando el nombre "getBanner"
y pasando los par<61>metros #banner_location_id# y #site_id#.
El Smarty lo buscara en la funci<63>n llamada insert_getBanner()
en su aplicaci<63>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<63>n deben
ser precedidas por "insert_" para prevenir posibles problemas con
nombres de funciones repetidos. Su funci<63>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<63>n:
insert_getBanner(array("lid" =&#62; "12345","sid" =&#62; "67890")); y
mostrara el resultado retornado en el lugar de la etiqueta insert.
</para>
<para>
Si usted proporciona el atributo "assign", la salida de la etiqueta
insert ser<65> 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.
</para>
<para>
Si usted proporciona el atributo "script", este script php ser<65>
incluido (solo una vez) antes de la ejecuci<63>n de la funci<63>n insert.
Este es el caso donde la funci<63>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.
</para>
<para>
El objeto Smarty es pasado como segundo argumento. De este modo
puede referenciar y modificar informaci<63>n del objeto Smarty dentro
de la funci<63>n.
</para>
<note>
<title>Nota Tecnica</title>
<para>
Es posible tener partes del template fuera de la cache.
Si usted tuviera <link linkend="caching">caching</link>
activado, la etiqueta insert no podra heredar por la cache.
Esta sera ejecutada din<69>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<6E>n de usuario, etc.
</para>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->