segunda-feira, 16 de novembro de 2009

Como acessar um array smarty com foreach

Neste post tratarei de um assunto básico e extremamente útil com smarty: Foreach em array!

Vamos definir inicialmente o nome dos atributos pra você se familiarizar com o assunto:

from - Neste ítem você define o array que está sendo acessado;
item - É o nome da variável onde está o elemento atual dentro do loop;
key - E o nome da variável que contém a chave do array dentro do ítem atual no loop;
name - Este ítem é o nome do looping foreach para acessar as propriedades do foreach;

vamos à um exemplo simples?

1) No PHP definimos o array com o conteúdo que está sendo passado via smarty para um template qualquer:


$arr = array(100, 200, 300, 400);
$smarty->assign('arrayConteudo', $arr);

2) Agora vamos para o Template. Aqui, conforme o assign do smarty, criamos uma variável arrayConteudo que será acessada no template:

{foreach from=$arrayConteudo item=conteudo}
{$conteudo}
{foreach}

Pronto! Teremos a seguinte saída html:

  • 100

  • 200

  • 300

  • 400


Mas se eu quiser acessar o índice do array? Simples! Mudamos o foreach da seguinte forma:
{foreach from=$arrayConteudo key=chave item=conteudo}
{$chave}: {$conteudo}
{foreach}

Saída HTML:

  • 0: 100

  • 1: 200

  • 2: 300

  • 3: 400


É isso! Abraço!

Fonte:
smarty.net

Tradução e Comentários:
Dilberto Rosa

Nenhum comentário:

Postar um comentário