2017-09-26 66 views
1

好的,我試過從stackexchange的另一個建議的信息,但我似乎失去了一些東西。輸出Joomla子表格

我在管理視圖中爲我正在工作的組件(他們以前是可重複的字段)的子窗體。管理員工作完美,但我無法讓json在前端網站視圖上正確顯示。

被拉入視圖的字段在佈局中,所以它與站點視圖($ displayData而不是$ items)有點不同。在現場

在DB我有一個名爲家電領域,4項是{"appliances1":{"appliance_type":"Dishwasher"},"appliances2":{"appliance_type":"Range"},"appliances3":{"appliance_type":"Microwave"},"appliances4":{"appliance_type":"Washer/Dryer"}}

確定。這看起來不錯,格式正確。

在前端,在佈局的觀點,我有:

<?php 
print_r($displayData->appliances); 

foreach ($displayData->appliances as $item) : ?> <div> 
<p> 
<?php echo $displayData->appliance_type; ?> 
</p> 
</div> 
<?php endforeach; ?> 

print_r顯示:

Appliances Array ([appliances1] => Array ([appliance_type] => Dishwasher) [appliances2] => Array ([appliance_type] => Range) [appliances3] => Array ([appliance_type] => Microwave) [appliances4] => Array ([appliance_type] => Washer/Dryer)) 

確定。再次,這看起來不錯。我會盡快刪除它的工作正常。

的問題是,

<p> 
<?php echo $displayData->appliance_type; ?> 
</p> 

不顯示任何內容。

我可以在代碼中看到,它正確地做的foreach,但它不是從數組抓取任何內容:

Array ([appliances1] => Array ([appliance_type] => Dishwasher) [appliances2] => Array ([appliance_type] => Range) [appliances3] => Array ([appliance_type] => Microwave) [appliances4] => Array ([appliance_type] => Washer/Dryer)) <div> <p> </p> </div> <div> <p> </p> </div> <div> <p> </p> </div> <div> <p> </p> </div> 

什麼我可能會丟失有什麼想法?

+0

嘗試'appliances1-> appliance_type> ',雖然print_r顯示的是數組:\'<?= $ displayData ['appliances1'] ['appliance_type']?>' –

+0

潛在的問題是,子表單爲每個新條目添加不同的數字:appliance1,appliance2,家電3等 –

+0

您可能需要將其傳遞給array_walk或其他設備,並將其標準化以供使用。你不能簡單地跳過一個級別,並期望它的工作。 –

回答

1

好的。直到我解決這個問題時,我才知道自己無法入睡。它可能不是最乾淨的,但是,但是這適用於從一個Joomla子窗體輸出數據:

<?php $records = $displayData->appliances; ?> 
<?php foreach ($records as $key => $value) { 
    echo $value["appliance_type"] ."<br>"; 
    } 
?> 

結果:<?= $ displayData->?

Appliances 

Dishwasher 
Range 
Microwave 
Washer/Dryer 
+0

感謝您回覆併發布答案 – Eoin