WebsiteBaker Support (2.13.x) > Hilfe & Support (deutsch)

Modul procalendar (v 1.8.2): Verbesserungen und Korrekturen

<< < (2/2)

masju:
Okay, das mit dem Schalter: einverstanden  :-) meine Erklärung war falsch.

Aber die Auswertung von $dayview ist hier trotzdem nicht wie erwartet. Denn: lasse ich die beiden Zeilen drin, verhält es sich wie folgt:

Klicke ich im Frontend im aktuellen Monat einen Tag an, schaltet der Kalender auf die Anzeige der Termine des angeklickten Tages (korrekt).  (Y)
Wechsel ich auf irgendeinen anderen Monat und klicke einen Tag an, bleibt die Anzeige trotzdem auf "Monatsübersicht" (nicht korrekt)  :-o.

Die Anzeige sollte nur von der Variable $dayview oder meinetwegen $IsMonthOverview abhängen.

masju:

--- Quote from: hgs on October 17, 2025, 10:35:20 AM ---Die Verbesserung konnte ich allerdings nicht nachvollziehen, Nach dem Speichern ist im BE wieder der aktuelle Monat sichtbar, oder mache ich einen Bedienfehler?

--- End quote ---
Der Monat bleibt (derzeit) nur beim Edit eines Events erhalten (Bearbeite z. B. einen Eintrag im Dezember 2025 und die Anzeige springt nach dem Speichern wieder auf Dezember 2025).
Zu überlegen wäre, ob noch eingebaut wird, dass das Kalender-Backend beim Neueintrag eines Events auch gleich in den Monat des neu angelegten Events springt.

hgs:
ok, Danke sternchen8875 für die Info.
@ [/size]masju
 baust du eine 1.8.4.1 aus den Infos? Dann können wir weiter sehen und das fertige Modul wird dann am Ende eine 1.8.5 oder 2.0 (wie auch immer)
gerne dann hier anhängen zum testen

sternchen8875:
bevor ich mich hier ausklinke, versuch ich es noch einmal. Vielleicht verstehen wir uns ja nur falsch...

einer von uns scheint ein Zaubermodul zu haben oder es wurde schon soviel geändert, das es anders funktioniert. Kommentiere ich, wie vorgeschladen diese beiden Zeilen aus, fehlt mir in der Monatsübersicht des aktuellen Monats (Oktober 2025) die Auflistung der Termine

--- Code: ---    $IsMonthOverview = ($month != date("n"));
    $IsMonthOverview = (($dayview && ($day != date("d"))) ? $IsMonthOverview : !$dayview);
--- End code ---

Warum?

$IsMonthOverview ist per Initial == false

Nun Zeile 1


--- Code: ---$IsMonthOverview = ($month != date("n"));
--- End code ---
Ist der Monat, der per Link kommt, ungleich dem von PHP ermittelten aktuellen Monat
Da Oktober 2025 mein Startmonat ist und wir Oktober 2025 haben, ist $IsMonthOverview immer noch false, weil die Bedingung nicht erfüllt wird

Möchte ich heute den Novemberkalender sehen, wäre die Bedingung wahr, der übermittelte Monat 11 ist nicht der PHP-Monat 10, $IsMonthOverview wäre dann true und heißt auf deutsch: zeige die Monatsanzeige (und nicht die Einzel-Tagesanzeige)

Nun Schalter 2


--- Code: ---$IsMonthOverview = (($dayview && ($day != date("d"))) ? $IsMonthOverview : !$dayview);
--- End code ---

Fall1: $IsMonthOverview ist false
übermittelt wird per Link nun entweder
page_id=18&day=18&month=10&year=2025&dayview=1
oder
page_id=18&month=11&year=2025

Uns interessiert vorallem $dayview in Link#1 und der day=18
da $dayview gesendet wurde und den Wert = 1 hat, wird es true. Bedingung 2 ist erfüllt, wenn der Link den day=18 übermittelt und PHP sagen würde, heute ist der Tag 18. Dann gilt also $IsMonthOverview. Und weil wir Oktober haben und PHP diesen Oktober als aktuellen Monat heute ermitteln würde, wäre $IsMonthOverview == false

Nun ist heute aber der 17 und nicht der 18. Bedingung 2 wird nun unwahr, es gilt also der letztere Teil hinter dem Doppelpunkt "!$dayview", also das Gegenteil vom Wert. $dayview war eine 1, das Gegenteil ist false oder 0. $IsMonthOverview ist also wieder false
Genau, was wir wollten, denn ich habe ja im Kalender angewählt, das die Tagesanzeige ausgegeben werden soll

Das funktioniert so auch hin und her, im Front- und Backend

Aber nach deiner Theorie muß ja die Version von hgs bei dir passen, also macht, wie ihr wollt, ist OpenSource


Navigation

[0] Message Index

[*] Previous page

Go to full version