- Joomla Version
- 5.0.2
- PHP Version
- PHP 8.2.x
- Hoster
- Lokal
Hallo zusammen,
ich stehe vor einem verzwickten Problem, vielleicht kann mir ja jemand helfen...
Für einen befreundeten Musikverein erstelle ich die Homepage mit J5 neu.
Dazu habe ich das Astroid-Framework verwendet.
Mit Astroid habe ich eine Sektion mit zwei Spalten erstellt. Jede dieser Spalten ist jeweils eine selbstgewählte Modulposition zugewiesen. "naechster_termin" und "naechste_probe".
Auf diesen Modulpositionen habe ich jeweils ein Modul vom Typ "Eigenes Modul" veröffentlicht. Einmal auf der Modulposition "naechster_termin" sowie "naechste_probe".
Soweit so gut.
Auf den Modulpositionen möchte ich jeweils den nächsten Auftritt und die nächste Probe ausgeben. Dies mache ich über ein eigenes PHP-Script, welches die Daten per API von einer externen Anwendung abruft.
Funktioniert auch.
Das ist die Ausgabe der php-Dateien
<?php
echo '<div class="mx-3 mb-5 moduletable shadow-lg border border-primary p-3">';
echo '<h3 class="module-title">Nächster Termin</h3>';
echo '<h5>' . $naechster_termin_datum . '</h5>';
echo '<p>' . $naechster_termin_beschreibung . '</p>';
echo '</div';
?>
Die Ausgabe im Quelltext sieht so aus:
<section class="astroid-section" id="aa-mb5m785ei">
<div class="container">
<div class="astroid-row row" id="ar-19zgq8uij">
<div class="astroid-column col-lg-6 col-md-12 col-sm-12 col-12" id="ac-gkghds668">
<div class="astroid-module-position" id="nt-onma4gsyg">
<div class="naechster_termin-position moduletable ">
<!-- # TEST SCRIPT START -->
<div class="mt--5 mx-3 mb-5 moduletable shadow-lg border border-primary p-3">
<h3 class="module-title">Nächster Termin</h3>
<h5>Sonntag, der 7. April</h5>
<p>Event Musterstadt</p>
</div>
<!-- # TEST SCRIPT ENDE-->
</div>
</div>
</div>
<div class="astroid-column col-lg-6 col-md-12 col-sm-12 col-12" id="ac-q3jn3kk2x">
<div class="astroid-module-position" id="tc2-5znil40ay">
<div class="naechste_probe-position moduletable ">
<!-- # TEST SCRIPT START -->
<div class="mx-3 mb-5 moduletable shadow-lg border border-primary p-3">
<h3 class="module-title">Nächste Probe</h3>
<h5>Freitag, der 23. Februar</h5>
<p>um 19:30 Uhr im Proberaum</p>
</div>
<!-- # TEST SCRIPT ENDE-->
</div>
</div>
</div>
</div>
</div>
</section>
Alles anzeigen
Wenn nun in der externen Anwendung kein aktueller Termin oder keine nächste Probe eingepflegt worden ist, möchte ich nicht stumpf von dem jeweiligen php-Script einen entsprechenen Text ausgeben lassen, sondern das entsprechene Modul nicht anzeigen lassen.
Wenn nun kein Auftritt hinterlegt ist, sieht der Quelltext der index.php so aus:
<section class="astroid-section" id="aa-mb5m785ei">
<div class="container">
<div class="astroid-row row" id="ar-19zgq8uij">
<div class="astroid-column col-lg-6 col-md-12 col-sm-12 col-12" id="ac-gkghds668">
<div class="astroid-module-position" id="nt-onma4gsyg">
</div>
</div>
<div class="astroid-column col-lg-6 col-md-12 col-sm-12 col-12" id="ac-q3jn3kk2x">
<div class="astroid-module-position" id="np-5znil40ay">
<div class="naechste_probe-position moduletable ">
<!-- # TEST SCRIPT START -->
<div class="mx-3 mb-5 moduletable shadow-lg border border-primary p-3">
<h3 class="module-title">Nächste Probe</h3>
<h5>Freitag, der 23. Februar</h5>
<p>um 19:30 Uhr im Proberaum</p>
</div>
<!-- # TEST SCRIPT ENDE-->
</div>
</div>
</div>
</div>
</div>
</section>
Alles anzeigen
Die Ausgabe des ersten DIV's (Nächster Auftritt) ist leer, es belegt aber trotzdem durch die Astroid-Spalte den Platz und in der zweiten Spalte veröffentlichte Modul (Nächte Probe" belegt den Platz.
Aber über meine PHP-Scripte habe ich ja keinen Zugriff auf die Android-Sections...
Hat jemand eine Idee, wie ich das Problem lösen könnte?