我有一個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}
但是,如果一個值是另一個數組,然後我m不知道如何循環並輸出值。
這是我第一次進入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的其餘部分。
例如,如果你看目的地,你會發現這個記錄的第4個元素應該輸出「British Isles Europe」,但它只是說'數組'。
希望更有意義!
問候
安迪
也許值實際上是 「陣列」,而不是一個數組?這是從輸出下方顯示的代碼中建議的。 – periklis 2012-04-23 12:28:57
我不確定這是怎麼回事,因爲頂部的輸出是正確的,所以這個值必須是,例如,「不列顛羣島歐洲」的目的地。 – 2012-04-23 16:25:42
你可以做一個你試圖在$ setall中打印的數組的var_dump嗎? – periklis 2012-04-23 19:23:01