Unten meine Ansicht dieser Seite als Alternative mit Toggle Funktion
Ich habe hier das PHP-Skript zur Anzeige in zwei Teile aufgeteilt. Der obere Teil zeigt die aktuellen und der untere Teil die bereits abgelaufenen Veranstaltungen an, die ich mit einem "Toggle-Slider" versteckt habe und nur bei Klick auf einen Link anzeige.
Hier zur Info meine alternative CSS für diese "Veranstaltungsliste":
Ich habe diesen Style hier in den Seiteneinstellung in den Bereich "Inside <head> code" eingefügt
<!-- CSS Events -->
<style>
/* Eventliste */
div.events {
margin: 0px auto;
background-color: Whitesmoke;
width: 700px;
max-width: 100%;
height: 300px;
min-height: 100px;
max-height: 550px;
overflow: Auto;
resize: Vertical;
border: 1px solid #999999;
box-shadow: 5px 5px 5px #888888
}
/* Aktuelle Veranstaltungen */
dt.neu:nth-child(odd) {
color: #555555;
background-color: #b2ccd2;
padding: 2px;
}
/* Vergangene Veranstaltungen */
dt.alt:nth-child(odd) {
color: #555555;
background-color: #cbe5eb;
padding: 2px;
}
dd {
padding: 5px;
}
.box{
display: none;
}
</style>
Hier zur Info mein alternatives, geteiltes PHP-Skript zur Anzeige dieser "Veranstaltungsliste":
Ich habe hier einen einfachen Textblock aufgezogen und den Beispiel-Text mit diesem Skript ersetzt
<?php
// Aktuelle Veranstaltungen
echo '<h4>Aktuelle Veranstaltungen</h4>' .
'<div class="events">';
// Verbindungen (eventuell anpassen)
$db = new PDO('sqlite:' . "db/events.sqt");
include "event_funktionen.php";
$select = $db->query("SELECT `event`, `datum`, `zeit`
FROM `events`
WHERE `datum` >= DATETIME('now','localtime')
ORDER BY `datum` ASC");
$events = $select->fetchAll();
foreach ($events as $event) {
sscanf($event["datum"], "%4s-%2s-%2s %5s", $jahr, $monat, $tag, $uhr);
echo '<dl><dt class="neu">' . wochentag($tag, $monat, $jahr) . ', ' . $tag . ' ' . monat($monat) . ' ' . $jahr .
'   ' . $event["zeit"] . ' ➧ ' . $uhr . ' Uhr</dt>' .
'<dd>' . nl2br($event["event"]) . '</dd></dl>';
}
echo '</div><br>';
?>
<p><a href="javascript:void();" class="slide-toggle text-primary"><span class="mbri-up-down mbr-iconfont mbr-iconfont-btn"></span> Klick für abgelaufene Veranstaltungen</a></p>
<div class="box">
<div class="box-inner">
<?php
// Vergangene Veranstaltungen
if ($oldEvent != "nein") {
echo '<h4>Vergangene Veranstaltungen</h4>' .
'<div class="events">';
$select = $db->query("SELECT `event`, `datum`, `zeit`
FROM `events`
WHERE `datum` < DATETIME('now','localtime')
ORDER BY `datum` DESC");
$events = $select->fetchAll();
foreach ($events as $event) {
sscanf($event["datum"], "%4s-%2s-%2s %5s", $jahr, $monat, $tag, $uhr);
echo '<dl><dt class="alt">' . wochentag($tag, $monat, $jahr) . ', ' . $tag . ' ' . monat($monat) . ' ' . $jahr .
'   ' . $event["zeit"] . ' ➧ ' . $uhr . ' Uhr</dt>' .
'<dd>' . nl2br($event["event"]) . '</dd></dl>';
}
echo '</div>';
}
?>
</div>
</div>
Hier zur Info mein JavaScript zur Anzeige des Toggle-Sliders der abgelaufenen Veranstaltungen:
Ich habe dieses Script hier in den Seiteneinstellung in den Bereich "End of <body> code" eingefügt
<!-- Slider von oben nach unten -->
<script type="text/javascript">
$(document).ready(function(){
$(".slide-toggle").click(function(){
$(".box").slideToggle(1000);
});
});