输出Joomla子表单

时间:2017-09-26 03:15:03

标签: php joomla joomla-extensions joomla-component

好的,我已经在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>

对我可能遗失的任何想法?

1 个答案:

答案 0 :(得分:1)

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

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

结果:

Appliances

Dishwasher
Range
Microwave
Washer/Dryer