mirror of
https://github.com/smarty-php/smarty.git
synced 2025-11-06 23:31:36 +01:00
147 lines
6.0 KiB
XML
147 lines
6.0 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 1.1 Maintainer: thomasgm Status: ready -->
|
|
<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>Nome do Atributo</entry>
|
|
<entry>Tipo</entry>
|
|
<entry>Obrigatório</entry>
|
|
<entry>Padrão</entry>
|
|
<entry>Descrição</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>name</entry>
|
|
<entry>string</entry>
|
|
<entry>Sim</entry>
|
|
<entry><emphasis>n/d</emphasis></entry>
|
|
<entry>O nome da função insert (insert_name)</entry>
|
|
</row>
|
|
<row>
|
|
<entry>assign</entry>
|
|
<entry>string</entry>
|
|
<entry>Não</entry>
|
|
<entry><emphasis>n/d</emphasis></entry>
|
|
<entry>O nome da variável que
|
|
irá receber a saída</entry>
|
|
</row>
|
|
<row>
|
|
<entry>script</entry>
|
|
<entry>string</entry>
|
|
<entry>Não</entry>
|
|
<entry><emphasis>n/d</emphasis></entry>
|
|
<entry>O nome de um script php que será incluido
|
|
antes que a função insert seja chamada</entry>
|
|
</row>
|
|
<row>
|
|
<entry>[var ...]</entry>
|
|
<entry>[var type]</entry>
|
|
<entry>Não</entry>
|
|
<entry><emphasis>n/d</emphasis></entry>
|
|
<entry>Variável para passar para a função insert</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
<para>
|
|
Tags insert funcionam parecido com as tags include, exceto que as tags
|
|
insert não vão para o cache quando <link
|
|
linkend="caching">caching</link> esta ativado. Ela será
|
|
executada a cada invocação do template.
|
|
</para>
|
|
<para>
|
|
Digamos que você tenha um template com um banner no topo da página. O
|
|
banner pode conter uma mistura de html, imagens, flash, etc.
|
|
Assim nós não podemos usar um link estatico aqui, e nós não
|
|
queremos que este conteúdo fique no cache junto com a página. E aí que entra a tag
|
|
insert: o template conhece os valores #banner_location_id# e
|
|
#site_id# (obtidos de um arquivo de configuração), e precisa chamar
|
|
uma função para obter o conteúdo do banner.
|
|
</para>
|
|
<example>
|
|
<title>função insert</title>
|
|
<programlisting>
|
|
{* exemplo de como obter um banner *}
|
|
{insert name="getBanner" lid=#banner_location_id# sid=#site_id#}</programlisting>
|
|
</example>
|
|
<para>
|
|
Neste exemplo, nós estamos usando o nome "getBanner" e passando os parâmetros
|
|
#banner_location_id# e #site_id#. O Smarty irá procurar por uma função chamada
|
|
insert_getBanner() na sua aplicação PHP, passando os valores de
|
|
#banner_location_id# e #site_id# como primeiro argumento em uma
|
|
matriz associativa. Todos os nomes de função insert em sua
|
|
aplicação devem ser precedidas por "insert_" para prevenir possíveis
|
|
problemas com nomes de funções repetidos. Sua função insert_getBanner()
|
|
deve fazer alguma coisa com os valores passados e retornar os resultados.
|
|
Estes resultados são mostrados no template no lugar da tag insert.
|
|
Neste exemplo, o Smarty irá chamar esta função:
|
|
insert_getBanner(array("lid" => "12345","sid" => "67890"));
|
|
e mostrar o resultado retornado no lugar da tag insert.
|
|
</para>
|
|
<para>
|
|
Se você passar o atributo "assign", a saída da tag insert será
|
|
dada para esta variável ao invés de ser mostrada
|
|
no template.
|
|
</para>
|
|
<note>
|
|
<title>Nota</title>
|
|
<para>
|
|
definir a saída para uma variável não é
|
|
útil quando o cache esta ativo.
|
|
</para>
|
|
</note>
|
|
<para>
|
|
Se você passar o atributo "script", este script php será incluido
|
|
(apenas uma vez) antes da execução da função insert. Este
|
|
é o caso onde a função insert não existe ainda, e um script
|
|
php deve ser incluído antes para faze-la funcionar. O caminho pode
|
|
ser absoluto ou relativo à variável $trusted_dir. Quando a segurança esta
|
|
ativada, o script deve estar no local definido na variável $trusted_dir.
|
|
</para>
|
|
<para>
|
|
O objeto Smarty é passado como segundo argumento. Deste modo
|
|
você pode refenciar o objeto Smarty
|
|
de dentro da função.
|
|
</para>
|
|
<note>
|
|
<title>Nota Tecnica</title>
|
|
<para>
|
|
É possível ter partes do template fora do cache.
|
|
se você tiver <link linkend="caching">caching</link>
|
|
ativado, tags insert não estarão no cache. Ela será executada
|
|
dinamicamente a cada vez que a página seja criada, mesmo com
|
|
páginas em cache. Isto funciona bem para coisas como banners, pesquisa,
|
|
previsões do tempo, resultados de pesquisa, áreas de opnião do usuário, 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
|
|
--> |