输出 Joomla 子表单

Output Joomla subform

好的,我已经尝试了另一个关于 stackexchange 的建议的信息,但我似乎遗漏了一些东西。

我在我正在处理的组件的管理视图中有一个子表单(它们以前是可重复的字段)。管理员工作完美,但我无法让 json 在前端站点视图中正确显示。

被拉入视图的字段在布局中,因此它与站点视图中的略有不同($displayData 而不是 $items)。

在数据库中我有一个名为 appliances 的字段,该字段中的 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>

关于我可能遗漏的任何想法?

好的。我知道在我解决这个问题之前我无法入睡。它可能不是最干净的,但是它适用于从 Joomla 子表单输出数据:

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

结果:

Appliances

Dishwasher
Range
Microwave
Washer/Dryer