Einfacher Kalender mit PHP
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Einfacher Kalender mit PHP
Kalender klein und als einfache Darstellung von einzelnen Monaten von Werner-Zenk.de.
Hier ein Beispiel auf meiner Tutorials-Seite:
https://www.mobirise-tutorials.com/Tuto ... lender.php
P.S.:
mir fällt da gerade noch etwas auf.
Der kleine Kalender zeigt am 01.01.2023 einen Montag an - das ist aber ein Sonntag
Hier ein Beispiel auf meiner Tutorials-Seite:
https://www.mobirise-tutorials.com/Tuto ... lender.php
P.S.:
mir fällt da gerade noch etwas auf.
Der kleine Kalender zeigt am 01.01.2023 einen Montag an - das ist aber ein Sonntag
Re: Einfacher Kalender mit PHP
Das Skritp hat n BUG, Oktober 2023 ist es genau so.
Offensichtlich wird ein 1. an einem So. nicht richtig ausgewertet.
Vielleicht wäre es "günstiger" statt "w" ein "N" für die numerische Darstellung des Wochentags gemäß ISO-8601 zu verwenden ... oder ggf. verschiebt sich nur das Problem!?
Offensichtlich wird ein 1. an einem So. nicht richtig ausgewertet.
Vielleicht wäre es "günstiger" statt "w" ein "N" für die numerische Darstellung des Wochentags gemäß ISO-8601 zu verwenden ... oder ggf. verschiebt sich nur das Problem!?
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
jepp - das scheint es zu sein - danke Klaus
https://www.mobirise-tutorials.com/Test ... &year=2023
... ich muss das noch in der anderen Seite ändern (bin da gerade mit der neuesten BETA am werkeln)
P.S.:
ja - geht - habe es geändert:
https://www.mobirise-tutorials.com/Tuto ... p#Kalender
PHP - Manual:
https://www.php.net/manual/en/datetime.format.php
https://www.mobirise-tutorials.com/Test ... &year=2023
... ich muss das noch in der anderen Seite ändern (bin da gerade mit der neuesten BETA am werkeln)
P.S.:
ja - geht - habe es geändert:
https://www.mobirise-tutorials.com/Tuto ... p#Kalender
PHP - Manual:
https://www.php.net/manual/en/datetime.format.php
PHP hat geschrieben:
N ISO 8601 numeric representation of the day of the week 1 (for Monday) through 7 (for Sunday)
w Numeric representation of the day of the week 0 (for Sunday) through 6 (for Saturday)
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
Hallo Werner, hallo an Alle
ich brauche mal Deine Hilfe.
Ich bin gerade dabei die neueste v5.7.0 von gestern von Mobirise zu testen. Nun funktioniert die Navigation vom kleinen Kalender nicht mehr:
https://www.mobirise-tutorials.com/Tuto ... p#Kalender
Habe ich die ID="Kalender" vielleicht nicht ganz korrekt eingesetzt. Die Navigation ging zuvor, mit der neuen Version von Mobirise nicht mehr.
Die Parameter der Action-URL werden auch unten im Browser-Status korrekt angezeigt aber nicht ausgeführt. Liegt das jetzt an Mobirise oder könnte hier ein Fehler in meinem Code sein?
Der Link zum Januar 2023 sollte dann so in der URL stehen:
https://www.mobirise-tutorials.com/Tuto ... 3#Kalender
Ich habe das auch an den Support im Hersteller-Forum geschrieben, da ich mir eigentlich (fast) sicher bin, dass meine ID="Kalender" richtig eingesetzt ist:
https://forums.mobirise.com/discussion/ ... ent_104864
Komischer Weise funktioniert mit der gleichen und neuen v5.7.0 von Mobirise eine gleiche Navigation in meinem Gästebuch richtig:
https://www.mobirise-tutorials.com/Gast ... ontent1-aw
ich brauche mal Deine Hilfe.
Ich bin gerade dabei die neueste v5.7.0 von gestern von Mobirise zu testen. Nun funktioniert die Navigation vom kleinen Kalender nicht mehr:
https://www.mobirise-tutorials.com/Tuto ... p#Kalender
Habe ich die ID="Kalender" vielleicht nicht ganz korrekt eingesetzt. Die Navigation ging zuvor, mit der neuen Version von Mobirise nicht mehr.
Die Parameter der Action-URL werden auch unten im Browser-Status korrekt angezeigt aber nicht ausgeführt. Liegt das jetzt an Mobirise oder könnte hier ein Fehler in meinem Code sein?
Der Link zum Januar 2023 sollte dann so in der URL stehen:
Code: Alles auswählen
https://www.mobirise-tutorials.com/Tutorials/Kalender.php?month=1&year=2023#Kalender
Code: Alles auswählen
<!-- Kalender -->
<?php
$date = date_create("now", timezone_open("Europe/Berlin"));
$month = $_GET["month"] ?? date_format($date, "n");
$month = (($month < 1) ? 12 : (($month > 12) ? 1 : $month));
$year = $_GET["year"] ?? date_format($date, "Y");
$elected = date_create($year . "-" . $month . "-01 00:00:00", timezone_open("Europe/Berlin"));
$columns = [];
$months = [1 => "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
$weekdays = ["Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"];
echo '<table>
<tr>
<th colspan="4">
<a href="?month=' . ($month - 1) . '&year=' . $year . '#Kalender" class="kal">-</a>
' . $months[date_format($elected, "n")] . '
<a href="?month=' . ($month + 1) . '&year=' . $year . '#Kalender" class="kal">+</a>
</th>
<th colspan="3">
<a href="?month=' . $month . '&year=' . ($year - 1) . '#Kalender" class="kal">-</a>
' . date_format($elected, "Y") . '
<a href="?month=' . $month . '&year=' . ($year + 1) . '#Kalender" class="kal">+</a>
</th></tr>' .
'<tr><th>' . implode('</th><th>', $weekdays) . '</th></tr>';
for ($i = 1; $i < date_format(date_modify(clone $elected, 'first day of this month'), "N"); $i++) {
$columns[] = "";
}
for ($days = 1; $days <= date_format($elected, "t"); $days++) {
$columns[] = ((
($days == date_format($date, "j")) &&
($month == date_format($date, "n")) &&
($year == date_format($date, "Y"))) ? '<mark>' . $days . '</mark>' : $days);
}
foreach ($columns as $i => $column) {
echo '<td>' . $column . '</td>' . ((($i + 1) % 7) ? '' : '</tr><tr>');
}
echo '</tr></table>';
?>
https://forums.mobirise.com/discussion/ ... ent_104864
Komischer Weise funktioniert mit der gleichen und neuen v5.7.0 von Mobirise eine gleiche Navigation in meinem Gästebuch richtig:
https://www.mobirise-tutorials.com/Gast ... ontent1-aw
Re: Einfacher Kalender mit PHP
In der Entwicklerkonsole sieht man:
Code: Alles auswählen
Uncaught TypeError: URL constructor: ?month=1&year=2024#Kalender is not a valid URL.
H https://www.mobirise-tutorials.com/Tutorials/assets/smart-cart/minicart-customizer.js:13
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
... danke
was heiß das jetzt? Hat das was mit der Datei minicart-customizer.js zu tun?
Hier exakt die gleiche Seite noch mit der v5.6.20 BETA (da funktioniert es):
https://www.mobirise-tutorials.com/Test ... p#Kalender
was heiß das jetzt? Hat das was mit der Datei minicart-customizer.js zu tun?
Hier exakt die gleiche Seite noch mit der v5.6.20 BETA (da funktioniert es):
https://www.mobirise-tutorials.com/Test ... p#Kalender
Re: Einfacher Kalender mit PHP
Ich kenne die MR Skripte ja nicht und weiß nicht für was das minicart Skript (bzw. die Anpassung von MR dazu) gut ist, man sieht nur dass dort ein "Click Listener" dran hängt und beim Klick knallt es hier beim Erzeugen einer neuen URL.
... könnte man debuggen und nachsehen was sich geändert hat, man kann das aber auch MR überlassen ...
... könnte man debuggen und nachsehen was sich geändert hat, man kann das aber auch MR überlassen ...
Code: Alles auswählen
document.addEventListener("click", function(a) {
var b = a.target.getAttribute("href");
if (b) {
var e = new URL(b),
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
Danke Dir Klaus,
das übersteigt auch meine Möglichkeiten weit
Ich wollte auch nur wissen, ob es da in meinem PHP vielleicht einen Fehler gibt. Das ist für mich ein BUG, der zwingend wieder weg muss. Das geht gar nicht.
Diese "Smart-Cart" Erweiterung ist von dem Drittanbieter "ElectricBlaze" (von Mobirise), da hat es schon sehr oft Probleme anderer Art gegeben.
Das Teil habe ich hier im gleichen Projekt:
https://www.mobirise-tutorials.com/Tuto ... -Cart.html
Das wird wohl auch der Grund sein, warum die Navigation mit ganz ähnlichen URL-Parametern an meinem Gästebuch (anderes Projekt) funktioniert, denn dort habe ich die Erweiterung "Smart-Cart" nirgendwo in Gebrauch.
... ob das zulässig ist weiß ich auch nicht:
... aber auch Mobirise schreibt ja die Anker so:
und hier funktioniert es ja auch - bisher in allen Mobirise-Versionen:
https://www.mobirise-tutorials.com/Test ... p#Kalender
das übersteigt auch meine Möglichkeiten weit
Ich wollte auch nur wissen, ob es da in meinem PHP vielleicht einen Fehler gibt. Das ist für mich ein BUG, der zwingend wieder weg muss. Das geht gar nicht.
Diese "Smart-Cart" Erweiterung ist von dem Drittanbieter "ElectricBlaze" (von Mobirise), da hat es schon sehr oft Probleme anderer Art gegeben.
Das Teil habe ich hier im gleichen Projekt:
https://www.mobirise-tutorials.com/Tuto ... -Cart.html
Das wird wohl auch der Grund sein, warum die Navigation mit ganz ähnlichen URL-Parametern an meinem Gästebuch (anderes Projekt) funktioniert, denn dort habe ich die Erweiterung "Smart-Cart" nirgendwo in Gebrauch.
... ob das zulässig ist weiß ich auch nicht:
Code: Alles auswählen
<!-- Kalender -->
<table>
<tr>
<th colspan="4">
<a href="?month=0&year=2022#Kalender" class="kal">-</a>
Januar
<a href="?month=2&year=2022#Kalender" class="kal">+</a>
</th>
<th colspan="3">
<a href="?month=1&year=2021#Kalender" class="kal">-</a>
2022
<a href="?month=1&year=2023#Kalender" class="kal">+</a>
... aber auch Mobirise schreibt ja die Anker so:
Code: Alles auswählen
<a href="Kalender.php#Kalender">Kalender</a>
https://www.mobirise-tutorials.com/Test ... p#Kalender
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
... ich habe hier mal jetzt diese Seite "Kalender.php" davor geschrieben:
https://www.mobirise-tutorials.com/Test ... lender.php
... geht aber auch nicht
Also muss der Fehler eigentlich im Update auf v5.7.0 von Mobirise liegen.
https://www.mobirise-tutorials.com/Test ... lender.php
... geht aber auch nicht
Also muss der Fehler eigentlich im Update auf v5.7.0 von Mobirise liegen.
Code: Alles auswählen
<!-- Kalender -->
<table>
<tr>
<th colspan="4">
<a href="Kalender.php?month=11&year=2022#Kalender" class="kal">-</a>
Dezember
<a href="Kalender.php?month=13&year=2022#Kalender" class="kal">+</a>
</th>
<th colspan="3">
<a href="Kalender.php?month=12&year=2021#Kalender" class="kal">-</a>
2022
<a href="Kalender.php?month=12&year=2023#Kalender" class="kal">+</a>
Re: Einfacher Kalender mit PHP
Ich hab das "zulässig" (href) wieder rausgenommen ... Problem ist das sich das Skript vob EB anscheinend auf die Buttons "registriert" und dann aber mit dem href nicht klarkommt.
Soviel ich gesehen habe sind die Skripte zw. den 2 Versionen identisch, muss also noch an anderen Skripten/geänderter Codegenerierung liegen.
Schreibt doch mal ne komplette URL (incl. https ...) dann sollte es gehen.
... oder noch besser, nimmt das EB Skript auf der Seite raus, brauchen tust Du es doch eh nicht, oder?
Soviel ich gesehen habe sind die Skripte zw. den 2 Versionen identisch, muss also noch an anderen Skripten/geänderter Codegenerierung liegen.
Schreibt doch mal ne komplette URL (incl. https ...) dann sollte es gehen.
... oder noch besser, nimmt das EB Skript auf der Seite raus, brauchen tust Du es doch eh nicht, oder?
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
nee - geht auch nicht:
Code: Alles auswählen
<!-- Kalender -->
<table>
<tr>
<th colspan="4">
<a href="https://www.mobirise-tutorials.com/Testseiten/Test/Test-Tutorials/Kalender.php?month=11&year=2022#Kalender" class="kal">-</a>
Dezember
<a href="https://www.mobirise-tutorials.com/Testseiten/Test/Test-Tutorials/Kalender.php?month=13&year=2022#Kalender" class="kal">+</a>
</th>
<th colspan="3">
<a href="https://www.mobirise-tutorials.com/Testseiten/Test/Test-Tutorials/Kalender.php?month=12&year=2021#Kalender" class="kal">-</a>
2022
<a href="https://www.mobirise-tutorials.com/Testseiten/Test/Test-Tutorials/Kalender.php?month=12&year=2023#Kalender" class="kal">+</a>
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
Beim Gästebuch habe ich allerdings noch ein JavaScript drinnen - das Problem gab es vor 5 Jahren schon einmal:
https://www.mobirise-tutorials.com/Gast ... ontent1-aw
Ich weiß jetzt aber gerade nicht wie so ein Skript zum Neuladen für den Kalender aussehen müsste - mit den 4 möglichen Klicks.
... und warum ging es vorher astrein ...
Code: Alles auswählen
<!-- Reload für Gästebuchseiten -->
<script>
function myPage(seite) {
window.location.href = 'Gastbuch.php?seite=' + seite + '#content1-aw';
}
</script>
Code: Alles auswählen
// Navigation Zurück /Weiter
if ($AnzahlDatensaetze > $EINTRAEGE_SEITE) {
print '<p>' . (($AktuelleSeite - 1) > 0 ? '<a href="?seite=' . ($AktuelleSeite - 1) . '#content1-aw" onclick="myPage(\'' . ($AktuelleSeite - 1) . '\')">◄ Zurück</a> ' : '') . ' ' .
(($AktuelleSeite + 1) <= $Seitenanzahl ? '<a href="?seite=' . ($AktuelleSeite + 1) . '#content1-aw" onclick="myPage(\'' . ($AktuelleSeite + 1) . '\')">Weiter ►</a>' : '') . '</p>';
}
Ich weiß jetzt aber gerade nicht wie so ein Skript zum Neuladen für den Kalender aussehen müsste - mit den 4 möglichen Klicks.
... und warum ging es vorher astrein ...
Re: Einfacher Kalender mit PHP
Mit den neuen Links ist aber der Fehler in der Console weg -> das Skript registriert sich warum auch immer auf die Buttons.
Wie geschr. das könnte man alles nachsehen, oder einfach MR überlassen, vielleicht machen die ja was.
Wie geschr. das könnte man alles nachsehen, oder einfach MR überlassen, vielleicht machen die ja was.
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
ja - ich warte mal ab ...
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
Ich hab Deine Seite mal extrem verkleinert und etwas angepasst.
An den wenigen Zeilen Code sieht man schon dass das "Anpassungsskript" (minicart-customizer.js) von MR nicht mit solchen hrefs klar kommen.
Ich weiß nicht ob man durch eine "Variable" dem Skrip klar machen kann dass es die "eigenen hrefs" in Ruhe lassen soll.
An den wenigen Zeilen Code sieht man schon dass das "Anpassungsskript" (minicart-customizer.js) von MR nicht mit solchen hrefs klar kommen.
Ich weiß nicht ob man durch eine "Variable" dem Skrip klar machen kann dass es die "eigenen hrefs" in Ruhe lassen soll.
Code: Alles auswählen
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
</head>
<body>
<a href="?month=1&year=2023#abc">A</a>
- -
<a href="?month=3&year=2023#abc">B</a>
<script src="assets/smart-cart/minicart.js"></script>
<script src="assets/smart-cart/minicart-customizer.js"></script>
</body>
</html>
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
Klaus,
das ist alles Fummelkram.
Ich verstehe nicht, warum es zuvor ging und jetzt nicht mehr. Eigentlich müssen sie etwas negativ im Update verändert haben, dass das bewirkt.
> Mobirise hat soeben ein Update deswegen auf den "Smart Cart" erstellt - das hat aber bisher keine Änderung bewirkt
> oder ich verzichte auf den Anker, sodass die Seite mit dem Monats- oder Jahreswechsel wieder nach oben springt
> oder Werner schreibt mir ein JavaScript mit einem Neuladen der Seite inklusive Parametern und Anker-ID (ich schaffe das nicht, habe es schon versucht)
> oder ich verzichte auf diesen Kalender ganz - wäre aber schon blöd - eine solche Kapitulation wegen eines Updates.
Daher habe ich zunächst aufgegeben und den Kalender in den obersten Block gepackt
https://www.mobirise-tutorials.com/Tuto ... lender.php
das ist alles Fummelkram.
Ich verstehe nicht, warum es zuvor ging und jetzt nicht mehr. Eigentlich müssen sie etwas negativ im Update verändert haben, dass das bewirkt.
> Mobirise hat soeben ein Update deswegen auf den "Smart Cart" erstellt - das hat aber bisher keine Änderung bewirkt
> oder ich verzichte auf den Anker, sodass die Seite mit dem Monats- oder Jahreswechsel wieder nach oben springt
> oder Werner schreibt mir ein JavaScript mit einem Neuladen der Seite inklusive Parametern und Anker-ID (ich schaffe das nicht, habe es schon versucht)
> oder ich verzichte auf diesen Kalender ganz - wäre aber schon blöd - eine solche Kapitulation wegen eines Updates.
Daher habe ich zunächst aufgegeben und den Kalender in den obersten Block gepackt
https://www.mobirise-tutorials.com/Tuto ... lender.php
Re: Einfacher Kalender mit PHP
Na vielleicht ist's in der neuen Beta 5.7.1 schon erledigt?
What's new:
* Fix for anchors
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
habe jetzt noch ca. 30 Minuten und bekomme dann erst einmal kurz Besuch - aber hört sich gut an ...
- Tommy Herrmann
- Site Admin
- Beiträge: 5907
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Einfacher Kalender mit PHP
Leider hat das mein Problem mit dem Anker nicht gelöst - hier diese Seite mit dem kleinen Kalender publiziert mit v5.7.1 BETA:
https://www.mobirise-tutorials.com/Test ... p#Kalender
https://www.mobirise-tutorials.com/Test ... p#Kalender
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 21 Gäste