好的,我已经在stackexchange上尝试了另一个建议的信息,但我似乎错过了一些东西。
我在管理视图中有一个子窗体用于我正在处理的组件(它们以前是可重复的字段)。管理员工作完美,但我无法让json在前端站点视图上正确显示。
被拉入视图的字段位于布局中,因此它与网站视图中的字段略有不同($ displayData而不是$ items)。
在db中我有一个名为appliance的字段,字段中的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 :(得分:1)
行。我知道在解决这个问题之前我无法入睡。它可能不是最干净的,但这适用于从Joomla子表单输出数据:
<?php $records = $displayData->appliances; ?>
<?php foreach ($records as $key => $value) {
echo $value["appliance_type"] ."<br>";
}
?>
结果:
Appliances
Dishwasher
Range
Microwave
Washer/Dryer