JEvents: Links in Minikalender deaktivieren

  • Hallo liebe Leute,


    ich möchte im Minikalender die Links bei Tagen mit Terminen deaktivieren. Es soll nur sichtbar sein, welche Tage belegt oder frei sind.

    Ich arbeite auf einer lokalen Installation mit den jeweils aktuellen Versionen, Joomla 3.10.6, JEvents 3.6.30.


    Danke!

  • Danke dir für deine schnelle Antwort!


    Der praktische Grund ist der: Wir haben eine kleine mobile Theatergruppe. Die Veranstalter sollen nur sehen, welche Tage prinzipiell buchbar sind. Die Gruppenmitglieder loggen sich ein und können beispielsweise eingeben, wann sie verhindert sind oder können organisatorische Infos zu Aufführungen abrufen. Natürlich sind diese Infos privat bzw. geschäftlich und sollten eben nicht öffentlich abrufbar sein. Wenn ich die Einträge aber von "Öffentlich" auf "Registriert" umschalte, erscheinen sie logischerweise nicht mehr im Minikalender.

    Ein Freund hat mir vor vielen Jahren die entsprechende Datei umgeschrieben und es hat wunderbar funktioniert. Durch ein Update geht diese Anpassung aber leider verloren. Und ich weiß leider nicht was er gemacht hat, geschweige denn wo. Darum meine Anfrage hier.

    Kurt

  • Auf die Schnelle kann ich da auch nicht weiterhelfen. Ich habe gerade mal in einer JEvents 3.6.13 nachgeschaut.

    Da kann man in den JEvents-Einstellungen im Modul die dynamische Linkerstellung per JavaScript (onclick) aktivieren, damit Suchmaschinen diese Links (fast) nicht finden.


    Gleichzeitig sehe ich auf der von dir genannten Seite einen Fehler (jQuery ist nicht definiert). Dieser bezieht sich hierauf:


    Wurde da eventuell am JavaScript etwas geändert, um die Links zu entfernen?

    Die typischen <a>....</a> , welche man entfernen könnte, kann ich da im Code auf Anhieb nicht entdecken.


    Grundlegend findet der Aufbau hier statt (am Beispiel von JEvents 3.6.13): /modules/mod_jevents_cal/tmp/default/calendar.php

    (oder entsprechend bei den anderen Themen halt nicht "default")


    Tipp: Core-Änderungen auf jeden Fall immer aufschreiben, damit man die notfalls erneut ausführen kann! Kannst du bei deinem Kumpel nicht nachfragen? Ein Stichwort könnte reichen.


    Ergänzung:

    Kannst dir natürlich die alte JEvents-Version besorgen und die Dateien mit deinen Dateien der alten Webseite vergleichen, beispielsweise mit WinMerge. Das geht recht flott. Dann kannst du die Unterschiede in einem Rutsch ermitteln.

    Viele Grüße!
    JoomlaWunder

    Einmal editiert, zuletzt von Indigo66 () aus folgendem Grund: Ein Beitrag von JoomlaWunder mit diesem Beitrag zusammengefügt.

  • Vielen Dank, oh JoomlaWunder!

    Dein Tipp, wo die Änderungen zu finden sind, war die Lösung. Mein Freund hatte dort (/modules/mod_jevents_cal/tmp/default/calendar.php) die alte Datei mit der Kennzeichnung der Änderung platziert. Der Vergleich der beiden Dateien brachte die Lösung.

    Die Zeile:
    $content .= $this->htmlLinkCloaking($currentDay["link"], $currentDay['d'], array('class'=>"mod_events_daylink",'title'=> JText::_('JEV_CLICK_TOSWITCH_DAY')));


    muss ersetzt werden durch:

    $content .= $currentDay['d'];

    You made my day!

  • Schön, dass es funktioniert. So genau hatte ich mir den Code noch nicht angeschaut.

    Am besten setzt du das Thema auch noch gleich auf "erledigt". Einfach oben bei "unerledigt" doppelt anklicken!

  • Durch ein Update geht diese Anpassung aber leider verloren.

    Deshalb sollte man Änderungen immer mit einem Override und/oder,

    je nach Anwendung, in einer custom.css machen.


    Dadurch werden Änderungen nach einem Update nicht überschrieben!


    In deinem Fall würde ich das benutzerdefiniertes CSS bei JEvents nutzen:






    Damit bist du bei Updates von JEvents auf der sicheren Seite. :)


    EDIT: Sorry, überlesen.


    Bei dir geht es ja doch um ein Override.


    Dann must du hier ansetzen: