'smaty 반복문'에 해당되는 글 1

  1. 2009.12.23 Smarty 반복문(FOREACH)
프로그래밍.../Smarty | Posted by 고기킬러 2009. 12. 23. 10:14

Smarty 반복문(FOREACH)

FOREACH (반복문)
----------------

특별히 당신이 오직 한 가지 변수를 통해 반복문을 만들고 싶다면, 그런 당신을 위해 좀
더 쉬운 방법으로 연관배열을 반복시킬 수도 있는데, 이를 보여주는 아래 예제는 Smarty
와 함께 제공하는 디폴트 index.php에서 작동하는 템플릿인데,


{foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$contact}
{$smarty.foreach.outer.iteration}. contact {$key}: {$item}
{/foreach}
{foreachelse}
no contacts
{/foreach}


여기서 가능한 속성들로는 다음과 같은 것들이 있어요[역주: 아래의 item, key, from은
PHP에서는 foreach($array as $key=>$item)와 각각 대입된다고 생각하시면 됩니다]

from: 반복의 대상이 되는 배열
item: 배열의 현재 요소를 가리키는 변수의 이름
key: 배열의 현재 키를 가리키는 변수의 이름(선택적)
name: foreach의 이름 (선택적)

그리고 당신이 만일 'name'을 사용한다면 다음과 같이 보다 다양한 foreach 속성들을 추
가할 수도 있으며[역주: first, last, show는 무슨 소리를 하고 있는지 잘 모르겠습니다.
메뉴얼에도 이 부분은 설명한 게 없고요. 실제 예제를 작성해 봐야 알 것 같군요. --;],

name: foreach의 이름
iteration: 현재 반복 횟수
total: 반복할 전체 횟수
first: if it's first iteration
last: if it's last iteration
show: if foreach was shown at all

아래 있는 템플릿은 foreach의 모든 속성들을 출력해 주는 예제랍니다[역주:두번째
foreach 문장에서 $smarty.foreach.outer가 from 속성의 값으로 지정된 것을 주목하
시기 바랍니다. 여기에 contact를 지정한 경우 전혀 다른 출력이 나옵니다].


{foreach name=outer item=contact from=$contacts}
{foreach key=key item=item from=$smarty.foreach.outer}
{$key}: {$item}
{/foreach}
{/foreach}


자, 이제 Smarty에 들여놓은 당신의 발은 어느 정도 충분히 적셔졌을 거에요. 그러나, 아
직 config 파일 변수들이나, built-in 함수들, 커스텀 함수들, 변수 변환자 같은 굵직굵
직한 공부거리가 남아 있답니다. 지금 당장 메뉴얼을 읽으러 가세요[역주: 각종 템플릿
라이브러리 중에서 가장 방대한 양을 자랑하는 메뉴얼입니다. ^^;]. 메일링 리스트에도
가입하시는 것이 좋겠지요. 그럼 앞으로도 Smarty를 즐기시기를!!

출처 : PHP SCHOOL
역자 : 조한석 님 <sizer@systong.co.kr>