묻고답하기
layout내 $idx라는 변수관련하여 관련 질문이 있습니다.
2009.07.15 00:10
layout 내에 $idx의 역할이 무엇인지 궁금합니다.
아래의 예시(선우TC님 레이아웃 중 일부)에서
$idx를 선언하고 매 루프마다 $idx++로 1씩 증가 시킨다고는 알겠는데
선언만하고 끌어다가 쓴곳이 없어서요.
적어도 layout.html 내에서는 없는듯한데....
정확한 용도가 무엇인가요?
예시############################
<!-- 메인메뉴 시작 -->
<div id="main_menu">
{@ $idx=1}
<!--@foreach($main_menu->list as $key => $val)--><!--@if($val['text'])-->
<!--@if($val['selected'])--> {@ $menu_1st = $val } <!--@end-->
<!--@if($val['selected'])-->
<li><img src="./images/{$layout_info->colorset}/bgMenuOn_left.gif" alt="left" /></li><!--@end-->
<li <!--@if($val['selected'])-->class="on"<!--@end-->>
<a href="{$val['href']}" <!--@if($val['open_window']=='Y')-->
onclick="window.open(this.href);return false;"<!--@end-->>{$val['text']}</a>
<!--@if($val['selected'])-->
<li><img src="./images/{$layout_info->colorset}/bgMenuOn_right.gif" alt="right" /></li><!--@end-->
<ul>
<!--@if($val['list'])--><!--@foreach($val['list'] as $k => $v)--><!--@if($v['text'])-->
<!--@if($v['selected'])--> {@ $menu_2nd = $v }<!--@endif-->
<li> <a href="{$v['href']}" <!--@if($v['open_window']=='Y'+
'+
')-->
onclick="window.open(this.href);return false;"<!--@end-->>{$v['text']}</a></li>
<!--@endif--><!--@endforeach--><!--@endif-->
<li class="bgMenuOverBottom"></li>
</ul>
</li>
{@ $idx++} <!--@endif--><!--@endforeach-->
</div>
##########################################
기본 레이아웃이나 공식적인게 아니라서 그 의도는 불분명하지만 대체적으로 이런 방식이 필요로 할 경우 사용합니다.
반복적으로 출력되는 리스트형 중 제일 마지막 혹은 특정 위치에서 다른 선택을 필요로 할 경우
날짜별로 구분하여 출력할 경우
뭐 대충 이런식인데요. 이런걸 할 경우는 기존에 foreach로 돌릴때 불러올 변수로는 기준이 되는 비교 대상이나 그런걸 구할 수 없기 때문에 별도의 변수를 만들어서 내부의 변수와 비교하거나 하는 것이지요...
일단 위 소스에서는 해당 변수는 불필요하네요. 하지만 저 idx가 그 이후 출력물에서 필요로 할 경우가 있으니 전체소스를 보거나 해당 제작자에게 묻지 않는한 알길이 없겠습니다.