- Joomla Version
- 5.1.0
- PHP Version
- PHP 8.2.x
- Hoster
- Lokal
Guten Morgen,
ich habe wieder mal eine spezielle Frage:
Thema ist schon erledigt, siehe weiter unten. Beitrag erstellt als Hilfe für andere.
Ich habe einen Artikel Override in welchem unten vor dem Author usw. eine Tabelle dynamisch erstellen lasse, welche technische Ansprechpartner des jeweiligen Bereichs darstellt.
Jetzt wird es so sein das diese Bereiche in ein paar Seiten mit Seitenumbrüchen unterteilt werden wird.
Ich würde nun gerne diese Tabelle nur auf der Hauptseite des Artikels anzeigen lassen und dachte das mache ich mit einer IF Abfrage.
Die Tabelle wird allerdings nur dann erstellt, wenn es Kontakte zu diesem Bereich gibt, was auch durch eine IF Abfrage durchgeführt wird.
Anbei mal das Beispiel wie es aussieht:
<?php if ($results != NULL) :?>
<h3> Technische Ansprechpartner*innen </h3>
<br>
<table border="1" width="100%">
<tr><th>Name</th>
<th>E-Mail</th>
<th>Telefon</th>
</tr>
<?php foreach($results as $contact){
echo "<tr>";
echo "<td>";
echo ($contact->name);
echo "<td>";
echo '<a href="mailto: ' . ($contact->email_to) . '">' . ($contact->email_to) . '</a>';
echo "</td>";
echo "<td>";
echo ($contact->telephone);
echo "</td>";
echo "</td>";
echo "</tr>";
}?>
</table>
<?php endif;?>
Alles anzeigen
$Results kommt aus einer Datenbankabfrage welche über ein Include eingefügt worden ist.
Ich dachte ich kann mit der URL das Thema lösen.
Wenn ich auf eine Seite vom Artikel gehe, wird ja die URL um &start=1 erweitert sowie um :Beitragsname.
Hauptseite vom Artikel
http://Servername/joomla/index.php/orga/intern/uebersicht?view=article&id=27&catid=24
Seite 2 vom Artikel
http://servername/joomla/index.php/orga/intern/uebersicht?view=article&id=27:Artikelname&catid=33&start=1
Um die URL abzufragen habe ich oben noch zu den Standardparametern folgendes hinzugefügt:
Das wollte ich dann nutzen um die 2te IF Abfrage, vor der Erstellung der Tabelle durchzuführen:
if ($absolute_url = "http://Servername/joomla/index.php/orga/intern/uebersicht?view=article&id=" . ($artikel->id) . "&catid=24") : ?>
<?php if ($results != NULL) :?>
<h3> Technische Ansprechpartner*innen </h3>
<br>
<table border="1" width="100%">
<tr><th>Name</th>
<th>E-Mail</th>
<th>Telefon</th>
</tr>
<?php foreach($results as $contact){
echo "<tr>";
echo "<td>";
echo ($contact->name);
echo "<td>";
echo '<a href="mailto: ' . ($contact->email_to) . '">' . ($contact->email_to) . '</a>';
echo "</td>";
echo "<td>";
echo ($contact->telephone);
echo "</td>";
echo "</td>";
echo "</tr>";
}?>
</table>
<?php endif;?>
<?php else: ?>
<?php endif;?>
Alles anzeigen
Leider führt das dazu, das immer diese Tabelle hinzugefügt wird.
Als ich diese Zeilen schreibe, passiert das was letzte Woche nicht geklappt hat.
Ich habe die Tabellen Erstellung in die Else Phase genommen und oben die erste IF Klausel negiert... jetzt funktioniert es.
if ($absolute_url != "http://Servername/joomla/index.php/orga/intern/uebersicht?view=article&id=" . ($artikel->id) . "&catid=24") : ?>
<?php else: ?>
<?php if ($results != NULL) :?>
<h3> Technische Ansprechpartner*innen </h3>
<br>
<table border="1" width="100%">
<tr><th>Name</th>
<th>E-Mail</th>
<th>Telefon</th>
</tr>
<?php foreach($results as $contact){
echo "<tr>";
echo "<td>";
echo ($contact->name);
echo "<td>";
echo '<a href="mailto: ' . ($contact->email_to) . '">' . ($contact->email_to) . '</a>';
echo "</td>";
echo "<td>";
echo ($contact->telephone);
echo "</td>";
echo "</td>";
echo "</tr>";
}?>
</table>
<?php endif;?>
<?php endif;?>
Alles anzeigen
Ich lasse das hier stehen, evtl. hilft das ja jemand anderes auch bei einem Problem
Thema aber selbst gelöst.