it-swarm.com.de

Joomla Subform-Ausgabe

OK, ich habe die Informationen eines anderen Vorschlags zum Stack-Austausch ausprobiert, aber mir fehlt anscheinend etwas.

Ich habe ein Unterformular in einer Administratoransicht für eine Komponente, an der ich arbeite (dies waren zuvor wiederholbare Felder). Admin funktioniert einwandfrei, aber ich habe Probleme damit, den JSON-Code in der Frontend-Site-Ansicht korrekt anzuzeigen.

Die Felder, die in die Ansicht gezogen werden, befinden sich in einem Layout, daher ist dies etwas anders als in der Site-Ansicht ($ displayData anstelle von $ items).

In der Datenbank habe ich ein Feld mit dem Namen "appliance" und 4 Elemente im Feld sind "appliance1": "appliance_type": "Dishwasher"}, "appliance2": "appliance_type": "Range"}, "appliance3": {"Gerätetyp": "Mikrowelle"}, "Geräte4": {"Gerätetyp": "Waschmaschine/Trockner"}}

OKAY. Das sieht gut aus und richtig formatiert.

Im Frontend habe ich im Layout für eine Ansicht:

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

das print_r zeigt:

Appliances Array ([appliance1] => Array ([appliance_type] => Geschirrspüler) [appliance2] => Array ([appliance_type] => Bereich) [appliance3] => Array ([appliance_type] => Mikrowelle) [appliance4] => Array ([Gerätetyp] => Waschmaschine/Trockner))

OKAY. das sieht wieder gut aus. Ich werde das entfernen, sobald es richtig funktioniert.

Das Problem ist, dass

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

zeigt nichts an.

Ich kann im Code sehen, dass foreach korrekt ausgeführt wird, aber nichts aus dem Array abgerufen wird:

            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>

Irgendwelche Gedanken darüber, was mir fehlen könnte?

1
Steve Voorhees

Es gibt zwei grundlegende Fehler. 1. Sie weisen jedes Element im Array der Variablen $ item zu und verwenden es dann nicht. 2. Sie verwenden die Pfeilsyntax, um auf ein Array zu verweisen. Das Anzeigen von Fehlern hätte Ihnen dabei geholfen.

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