PageRenderTime 17ms CodeModel.GetById 3ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/documentation/pt_BR/designers/language-builtin-functions/language-function-foreach.xml

https://bitbucket.org/hallgrennetworks/smarty
XML | 204 lines | 165 code | 17 blank | 22 comment | 0 complexity | 61e5445876b5dfad33fab645e42dbb03 MD5 | raw file
  1<?xml version="1.0" encoding="UTF-8"?>
  2<!-- $Revision: 2972 $ -->
  3<!-- EN-Revision: 1.2 Maintainer: thomasgm Status: ready -->
  4		<sect1 id="language.function.foreach">
  5			<title>foreach,foreachelse</title>
  6            <informaltable frame="all">
  7                <tgroup cols="5">
  8                <colspec colname="param" align="center" />
  9                <colspec colname="type" align="center" />
 10                <colspec colname="required" align="center" />
 11                <colspec colname="default" align="center" />
 12                <colspec colname="desc" />
 13                <thead>
 14                    <row>
 15                        <entry>Nome do Atributo</entry>
 16                        <entry>Tipo</entry>
 17                        <entry>Obrigatório</entry>       
 18                        <entry>Padrão</entry>
 19                        <entry>Descrição</entry>
 20                    </row>
 21                </thead>
 22                <tbody>
 23                    <row>
 24                        <entry>from</entry>
 25                        <entry>string</entry>
 26                        <entry>Sim</entry>
 27                        <entry><emphasis>n/d</emphasis></entry>
 28                        <entry>O nome da matriz que você estará pegando os elementos</entry>
 29                    </row>
 30                    <row>
 31                        <entry>item</entry>
 32                        <entry>string</entry>
 33                        <entry>Yes</entry>
 34                        <entry><emphasis>n/d</emphasis></entry>
 35                        <entry>O nome da variável
 36                        que é o elemento atual</entry>
 37                    </row>
 38                    <row>
 39                        <entry>key</entry>
 40                        <entry>string</entry>
 41                        <entry>Não</entry>
 42						<entry><emphasis>n/d</emphasis></entry>
 43						<entry>O nome da variável que é a chave atual</entry>
 44                    </row>
 45                    <row>
 46                        <entry>name</entry>
 47                        <entry>string</entry>
 48                        <entry>Não</entry>
 49                        <entry><emphasis>n/d</emphasis></entry>
 50						<entry>O nome do loop foreach para acessar as 
 51						propriedades foreach</entry>
 52                    </row>
 53                </tbody>
 54                </tgroup>
 55            </informaltable>
 56			<para>
 57			Loops <emphasis>foreach</emphasis> são uma alternativa para loops
 58			<emphasis>section</emphasis>. <emphasis>foreach</emphasis> é usado
 59			para pegar cada elemento de uma matriz associativa simples. 
 60			A sintaxe para <emphasis>foreach</emphasis> é muito mais simples do que
 61			<emphasis>section</emphasis>, mas tem a desvantagem de poder ser usada
 62			apenas para uma única matriz. Tags <emphasis>foreach</emphasis> devem ter
 63			seu par <emphasis>/foreach</emphasis>. Os parâmetros requeridos são
 64			<emphasis>from</emphasis> e <emphasis>item</emphasis>. O nome do loop
 65			foreach pode ser qualquer coisa que você queira, feito de letras, números
 66			e sublinhados. Loops <emphasis>foreach</emphasis>
 67			podem ser aninhados, e o nome dos loops aninhados devem ser diferentes
 68			um dos outros. A variável <emphasis>from</emphasis> (normalmente uma
 69			matriz de valores) determina o número de vezes do loop
 70			<emphasis>foreach</emphasis>.
 71			<emphasis>foreachelse</emphasis> é executado quando não houverem mais valores
 72			na variável <emphasis>from</emphasis>.
 73			</para>
 74<example>
 75<title>foreach</title>
 76<programlisting>
 77<![CDATA[
 78{* este exemplo irá mostrar todos os valores da matriz $custid *}
 79{foreach from=$custid item=curr_id}
 80	id: {$curr_id}<br>
 81{/foreach}
 82]]>
 83</programlisting>
 84<para>MOSTRA:</para>
 85<programlisting>
 86<![CDATA[
 87id: 1000<br>
 88id: 1001<br>
 89id: 1002<br>
 90]]>
 91</programlisting>
 92</example>
 93
 94<example>
 95<title>foreach key</title>
 96<programlisting>
 97<![CDATA[
 98{* A key contém a chave para cada valor do loop
 99
100A definição se parece com isso:
101
102$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"),
103      array("phone" => "555-4444", "fax" => "555-3333", "cell" => "760-1234")));
104
105*}
106
107{foreach name=outer item=contact from=$contacts}
108  {foreach key=key item=item from=$contact}
109    {$key}: {$item}<br>
110  {/foreach}
111{/foreach}
112]]>
113</programlisting>
114<para>MOSTRA:</para>
115<programlisting>
116<![CDATA[
117phone: 1<br>
118fax: 2<br>
119cell: 3<br>
120phone: 555-4444<br>
121fax: 555-3333<br>
122cell: 760-1234<br>
123]]>
124</programlisting>
125</example>
126
127		<para>
128		Loop foreach também tem as suas próprias variáveis para manipilar as propriedades
129		foreach. Estas são indicadas assim: {$smarty.foreach.foreachname.varname} com
130		foreachname sendo o nome especificado no atributo
131		<emphasis>name</emphasis> do foreach.
132		</para>
133
134
135			<sect2 id="foreach.property.iteration">
136			<title>iteration</title>
137			<para>
138        	iteration é usado para mostrar a interação atual do loop.
139			</para>
140			<para>
141			Iteration sempre começa em 1 e
142			é incrementado um a um em cada interação.
143			</para>
144			</sect2>
145
146			<sect2 id="foreach.property.first">
147			<title>first</title>
148			<para>
149        	<emphasis>first</emphasis> é definido como true se a interação atual
150        	do foreach for a primeira.
151			</para>
152			</sect2>
153
154			<sect2 id="foreach.property.last">
155			<title>last</title>
156			<para>
157        	<emphasis>last</emphasis> é definido como true se a interação atual
158        	do foreach for a última.
159			</para>
160			</sect2>
161
162			<sect2 id="foreach.property.show">	
163			<title>show</title>
164			<para>
165        	<emphasis>show</emphasis> é usado como parâmetro para o foreach.
166        	<emphasis>show</emphasis> é um valor booleano, true ou false. Se
167        	false, o foreach não será mostrado. Se tiver um foreachelse
168        	presente, este será alternativamente mostrado.
169			</para>
170
171			</sect2>
172			<sect2 id="foreach.property.total">	
173			<title>total</title>
174			<para>
175			<emphasis>total</emphasis> é usado para mostrar o número de interações do
176			foreach. Isto pode ser usado dentro ou depois do foreach.
177			</para>
178			</sect2>
179
180
181
182
183
184</sect1>
185<!-- Keep this comment at the end of the file
186Local variables:
187mode: sgml
188sgml-omittag:t
189sgml-shorttag:t
190sgml-minimize-attributes:nil
191sgml-always-quote-attributes:t
192sgml-indent-step:1
193sgml-indent-data:t
194indent-tabs-mode:nil
195sgml-parent-document:nil
196sgml-default-dtd-file:"../../../../manual.ced"
197sgml-exposed-tags:nil
198sgml-local-catalogs:nil
199sgml-local-ecat-files:nil
200End:
201vim600: syn=xml fen fdm=syntax fdl=2 si
202vim: et tw=78 syn=sgml
203vi: ts=1 sw=1
204-->