Loops com a classe smarty.
Hallo!
Depois de dois anos venho postar por aqui novamente o.o … é, acho que estou meio afastado do mundo geek =P
Maaaas… vamos ao assunto!
Vimos no post abaixo como inserir informações nos templates HTML utilizando o smarty, mas como todo bom programador sabe, um printf sem um for é como uma luva sem uma mão XD … uma hora ou outra vc precisa casar os dois.
Pelo lado do php é simples!!! Vc cria uma array de dados do tamanho que quiser, e usa o método Assign do smarty para enviar os dados para o template! Mas e no template?? Como a mágica é feita??
Usamos o comando reservado SECTION, do SMARTY (lembra que eu falei que o smarty tinha sintaxe própria interna?).
Uso:
{section name=var_para_uso loop=$array_enviada_pelo_assign step=NUMEROQUALQUER start=NUMEROINICIALDOFOR}<tags>{/section}
Nota: step salta o numero que você definir no loop e start vc configura da onde quer começar a contar
Tudo sempre fica mais fácil com um exemplo, lá vamos nós:
PHP:
for ($i=0;$i<>5;$i++){
$numeros[$i]=$i;
}
$smarty->assign(“numeros”,$numeros);
TEMPLATE HTML:
<html>
{section name=i loop=$numeros}
<div>{$numeros[i]}</div>
{/section}
</html>
RESULTADO GERADO (HTML):
<html>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
</html>
Acho que minha instrução acaba aqui e sua imaginação o guiará a fazer o resto!
