2012-04-22 4 views
1

나는 Smarty 배열을 가지고 있으며 배열 내의 일부 요소도 배열입니다. 여기에 다른 사람의 코드를 다루고 있는데, 출력 안에 여분의 비트를 삽입해야하므로 배열을 반복하고 결과를 출력 할 수 없습니다.배열 내의 Smarty 배열에서 데이터 가져 오기

내가 함께 일하고 있어요 코드는 다음과 같습니다 그래서

{foreach from=$setall item=item} 

        {if $item.req_type != 6} 
         {if $item.attr_value} 
         <div class="detailed_line" > 

          <p> 
           <label>{$item.name}</label> 
           {$item.attr_value|JView:$item.attr_id:$data->id:$item.type:$item.req_type} 
          </p> 
         </div> 
         {/if} 
     {/if} 
     {/foreach} 

, 내가 사용하여 개별 값 출력을 얻을 수 있습니다 :

{$setall.5.attr_value} 

그러나 값 중 하나가 다른 배열은 다음의 경우 나 '를 루프를 통해 루프를 통해 값을 출력하는 방법을 모르겠습니다.

이것은 Smarty 템플릿을 처음 접한 곳이기 때문에 시작할 위치조차 확실하지 않습니다.

모든 아이디어를 기꺼이 받아보실 수 있습니다!

안부

앤디 제이콥스


편집 : 그것에 대해

감사 : 아래 periklis '대답에 응답한다. 나는이에 미묘한 변화를 시도 :

{foreach name = "loop" from=$setall.0 item="item" key="key"} 
     {if is_array($item)} 
     {foreach name = "inner_loop" from=$item item="inner_item" key="inner_key"} 
     Inner item:{$inner_item}<br /> 
     {/foreach}  
     {else} 
     Outer item:{$item}<br /> 
     {/if} 
     {/foreach}<br /> 

그래서, 우선, 난 그냥 출력 메인 배열의 첫 번째 위치에 배열을 시도하고있다.

http://j412.workinprogress.co.uk/component/jomdirectory/23-Friendship-Travel

당신은 기본 출력 상단에있는 데이터를 볼 수 있습니다 : 이것은 내가 무엇을 얻을 수 있습니다. 내가해야 할 일은 setall 배열에 값의 일부를 표시 한 다음 설명과 setall의 나머지 부분을 표시하는 것입니다.

예를 들어 목적지를 살펴보면이 레코드의 네 번째 요소가 '영국 제도 유럽'을 출력하지만 '배열'만 표시된다는 것을 알 수 있습니다.

희망이 더 낫습니다!

감사

앤디

+0

아마도 값이 실제로 "을 배열"대신 배열? 이것이 출력물 아래에 나타나는 코드에서 제안한 것입니다. – periklis

+0

맨 위의 출력이 올바른지 확인할 방법이 확실하지 않으므로 목적지의 값이 예를 들어 'British Isles Europe'이어야합니다. –

+0

$ setall에서 인쇄하려고하는 배열의 var_dump를 할 수 있습니까? – periklis

답변

0

이 같은 시도 :

{foreach name = "loop" from=$setall item="item" key="key"} 
    {if is_array($item)} 
     {foreach name = "inner_loop" from=$item item="inner_item" key="inner_key"} 
      Inner item:{$inner_item} 
     {/foreach}  
    {else} 
      Outer item:{$item} 
    {/if} 
{/foreach}