Closed StefanKemner closed 1 year ago
Kann ich bestätigen
Bitte noch einmal testen.
Bei mir ist es jetzt so, dass man einmal weiter blättern kann. Danach verschwindet der Inhalt wieder
Ist die Selektion der Mannschaften eingeschaltet?
Nein, meine Einstellungen sehen so aus bei mir ist es übrigens so, dass man ohne Probleme zurück blättern kann, vorwärts nur einmal
Monatsweise vorwärts/rückwärtsblättern funktioniert bei mir jetzt.
Wenn ich die Doppel Pfeile für Jahreweise blättern benutze, komm ich ein Jahr weiter oder zurück. Bei nochmaligem Klick verschwindet der Kalender.
Wenn ich unter PHP8 das Monat ändere kommt als Fehlermeldung: Fehler: 0 mktime(): Argument #4 ($month) must be of type ?int, string given
Unter PHP7 funktioniert es bei mir noch.
Ich bin jetzt weiter und bei mir liegt es an JEvents. Wenn ich dies nicht verwende funktioniert es aber wenn ich von JEvents auch die Termine anzeigen lassen möchte, tritt der bekannte Fehler auf, dass der Kalender verschwindet sobald man den vorigen oder nächsten Monat oder Jahr auswählt.
Ursache dürfte folgende Codestelle sein: ` static function getEntries($caldates, $params, &$matches) {
if (!self::_checkJEvents())
{
return;
}
$year = substr($caldates['start'], 0, 4);
$month = (substr($caldates['start'], 5, 1) == '0') ? substr($caldates['start'], 6, 1) : substr($caldates['start'], 5, 2);
self::$xparams = $params;
/**
* Gets calendar data for use in main calendar and module
*
* @param int $year
* @param int $month
* @param int $day
* @param boolean $short - use true for module which only requires knowledge of if dat has an event
* @param boolean $veryshort - use true for module which only requires dates and nothing about events
*
* @return array - calendar data array
*/
$data = self::$jevent->getCalendarData($year, $month, 1);
$formatted = self::formatEntries($data['dates'], $matches);
return $formatted;
}
` Dort wo der Monat aus caldates extrahiert wird passiert es. Beim ersten Mal laden wird dort als Datum übergeben:
Wenn ich nun im Kalender den nächsten Monat auswähle:
Somit wird die Variable $month nun mit "6-" befüllt und das wirft später einen Fehler.
Ich hab mir jetzt mal auf die Schnelle so beholfen:
$month = (substr($caldates['start'], 5, 1) == '0') ? substr($caldates['start'], 6, 1) : substr($caldates['start'], 5, 2); $month = str_replace('-', '', $month);
Oder die JEvents-Einbindung wird im Modul deaktiviert.
Nachtrag: Auch bei deaktiviertem JEvents tritt es noch auf sobald in einem Monat kein Eintrag gefunden wurde. Danach kann man nicht mehr vor oder zurück wechseln.
Das liegt an dieser Codezeile in der Datei modules/mod_sportsmanagement_calendar/sportsmanagement.php:
$customteam = $jinput->getVar('jlcteam', 0, 'default', 'POST');
Sobald kein Eintrag in dem ausgewählten Monat mehr gefunden wird, wird auch die (bei mir nicht angezeigte) Auswahl der Mannschaften im Kalender nicht mehr angezeigt und somit ist die Variable jlcteam durch den Javascript-Code auf einmal "undefined".
Mein Workaround ist folgender:
$customteam = $jinput->getVar('jlcteam', 0, 'default', 'POST');
if ($customteam == 'undefined')
{
$customteam = 0;
}
Bitte noch einmal testen.
Bei mir funktioniert der Close-Button nicht mehr. Das klicken ausserhalb des Modalfenster schließt dieses aber
Das ist interessant.
Bei mir funktioniert es aber bei dir nicht.
Grund ist der Code des Modal:
<button type="button" class="btn btn-default" data-bs-dismiss="modal">Close</button>
funktioniert bei mir aber nicht bei dir.
Wenn ich deinen Code über die Entwicklungswerkzeuge meines Browser auf
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
ändere funktioniert es auch bei dir.
Laut meiner Info muss bei Bootstrap v5 data-bs-*
verwendet werden. Kann das mit deinem verwendeten Template zusammenhängen?
Ich habe jetzt einfach das data-bs-dismiss bzw. data-dismiss mit einem onclick-Event ersetzt. Damit funktioniert es bei mir ebenfalls.
Bei mir funktioniert der Monat Juli nicht, da der Kalender ausgeblendet ist.
Bei funktioniert der Close-Button mit meinem Template weiterhin nicht. Mit einigen anderen Templates geht es einwandfrei, bei anderen kein Modalfenster angezeigt
Bei mir funktioniert der Monat Juli nicht, da der Kalender ausgeblendet ist.
Ich habe den Workaround aus meinem Kommentar in meinem Pull-Request eingebaut.
@svdoldie Wegen dem Close-Button: Bei mir wird vom Template aus in Joomla 4 bereits bootstrap.modal mitgeladen. In deinem Template konnte ich das nicht sehen. Ich lade daher mit dem WebAssetManager für Joomla 4 die bootstrap.modal nach.
Bitte nach dem Pull-Request noch einmal testen.
Funktioniert jetzt alles bei mir 👍
Wenn ich auf den Juli klicke verschwindet bei immer noch der Kalender.
Wie sind deine Moduleinstellungen für den Kalender?
Ich vermute du verwendest auch Geburtstage für die Kalenderansicht. Dort hab ich jetzt auch die Anpassung durchgeführt. Bitte nach dem Pull-Request noch einmal testen.
Funktioniert.
Wenn man unter PHP8 bei dem JSM Kalendermodul mit den Pfeiltasten einen Monat zurück oder vor gehen will, verschwindet der gesamte Kalender.