머리말
벤치마크
설명서 1
설명서 2
설명서 3
설명서 4
설명서 5
레퍼런스
다운로드
◇ 게시판
글쓴사람
초보개발자
글쓴시간
2013년 3월 4일 오전 0시 6분 50초
제목
템플릿언더바 stdClass 루프 사용에 관해 문의드립니다.
stdClass를 loop로 사용할 경우에
{@ loop }
{loop->label}
{/}
이런식으로 사용하면 되는데요
loop 안에 loop가 있어
{@ loop }
{@ loop->loop }
{/}
{/}
형식으로 사용할때 출력을 위해선 어떤식으로 사용해야 하나요?
몇시간째 이리 저리 바꿔가고 컴파일 소스 보았는데도 잘 모르겠습니다.
관리자
초보개발자님 안녕하세요
php에서는 foreach(객체 as 속성){} 이 가능하지만
언더바에는 객체를 루프로 돌리지 못합니다. 배열만 지원됩니다.
된다고 하신 경우도 loop 에 assign된 것이 객체가 아니고 객체들을 담은 배열일 겁니다.
잘 안되시면 var_dump($loop) 와 원하는 출력결과를 올려보시기 바랍니다.
13-03-04 09:37
초보개발자
으아 답변 갑사합니다!!
근데 제가 질문을 잘 작성 못한거 같아요. 다시 상세하게 적은 후 여쭤보겠습니다.
$category = new Category();
$category->label = '테스트';
$category->children = array();
$category->children[] = $category;
$category->children[] = $category;
$loop = array();
$loop[] = $category;
$loop[] = $category;
이런 구조로 배열을 만들었을 경우
depth1 까지는 이런식으로 구현이 가능한데
{@ loop }
<li>{loop->label}
</li>
{/}
depth2를 출력하기 위해 어떻게 해야 하는지 잘 모르겟습니다.
{@ loop }
<li>{loop->label}
{? count(loog->children)>0) }
<ul>
{@ ?????? }
????에 어떻게 해야 될까요?ㅠㅠ
{/}
</ul>
{/}
</li>
{/}
13-03-04 09:51
관리자
중첩루프에 관해서.. 배열의 키를 루프아이디로 하지 않으면 문법이 좀 난해한 면이 있습니다.
{@ loop }
<li>{loop->label}
{? count(loop->children)>0) }
<ul>
{@ loop->children }
{..value_->label}
{/}
</ul>
{/}
</li>
{/}
이렇게하시면 될거에요. ..value_ 에서 앞에 점 두개는 루프의 깊이를 나타내고 value_ 는 루프의 현재 요소를 뜻합니다.
13-03-04 12:01
이름
비밀번호
Since 2003-03-03
hosted on
vultr.com