Beiträge von zenon.2000

    Erstelle dir mal von deinen JEvent-Modulen die Probleme verursachen ein Template - Override und setzte folgenden Code an den Anfang der Overriedes.

    PHP
    <?php
    $app = JFactory::getApplication();
    $option = $app->input->get('option', '');
    
    // Überprüfe, ob die Komponente "CiviCRM" aufgerufen wird
    if ($option === 'com_civicrm') {
        return;
    }
    ?>

    Getestet habe ich das, indem ich ein Modul ausgeblendet habe, wenn die com_content aufgerufen wurde. Das Modul wurde nur noch auf der Kontaktseite eingebunden.

    Super, danke - nach einem kurzen Missverständnis hat genau das funktioniert.

    Ich hatte es erst ganz zu beginn der Override-PHP-Datei geschrieben (wo es nichts bewirkt hat).

    Aber zu Beginn der display-Funktion funktioniert es wie gewünscht.


    Vielen lieben Dank! Super!

    Komponenten werden doch über Menüeinträge angesprochen - welchen Weg hast Du gewählt?

    Das ist der klasische Weg. Daneben können Komponenten ja auch direkt über URLs aufgerufen werden.
    In meinem Beispiel habe ich über CiviCRM ein Veranstaltung mit Online-Anmeldung erstellt - dabei wird ein Link zum Online-Anmeldeformular erstellt. Diesen Link verteile ich dann, so dass die Besucher*innen über diesen Link die Komponente (und damit automatisch auch das Modul) aufrufen.


    Oder habe ich hier vielleicht einen Denkfehler und Du weißt mich auf etwas anderes hin? Danke jedenfalls für jede Idee!

    Hallo liebes Forum,


    ist es möglich die Anzeige eines Modul abhängig vom Aufruf einer bestimmten Komponente zu deaktivieren?
    Bisher kenne ich nur die Möglichkeit eine Modul abhängig von der Menüzuweisung anzuzeigen bzw. zu deaktivieren.


    Hintergrund:

    • wir setzen auf unserer Joomla-Installation sowohl JEvent (Version 3.6.78) als auch CiviCRM (Version 5.70.0) ein,
    • leider scheinen sich beide Komponenten nicht gut zu vertragen: Wird ein CiviCRM-Formular (z.B. Anmeldung zu einer Veranstaltung) angezeigt, während gleichzeitig ein JEvent-Modul (z.B. "JEvents - Calendar Module" oder "JEvents - Latest Events Module") dann erfolgt eine 500-Fehlermeldung,
    • laut Debug liegt es daran, dass beide Erweiterungen eine gleichnamige PHP-Funktion definieren:
    Code
    Symfony\Component\ErrorHandler\Error\FatalError:
    Error: Cannot redeclare PHP81_BC\strftime() (previously declared in
    
    /var/www/vhosts/website.de/httpdocs/www.website.de/administrator/components/com_civicrm/civicrm/vendor/pear/log/php-8.1-strftime.php:35)
    
    at /var/www/vhosts/website.de/httpdocs/www.website.de/administrator/components/com_jevents/libraries/strftime.php:69

    Ich würde jetzt gerne auf Seiten, die eine Ausgabe der CiviCRM-Komponente anzeigen, die JEvent-Module deaktivieren (die Ausgaben sollten wegen der o.g. Fehlermeldung nicht nur Layout-/css-technisch unsichtbar gemacht werden, sondern gar nicht erst generiert werden). Ist das irgendwie möglich? Idealerweise ohne in die Code-Basis einzugreifen (wobei ich das auch nicht ausschließe, wenn es anders nicht geht).


    Da die CiviCRM-Formulare durch Links in Beiträgen aufgerufen werden sollen, haben Sie keine Menüzuordnung, über die ich die Modul-Sichtbarkeit ja steuern könnte.


    Vielen Dank für eure Unterstützung, Zenon