Mittels PHP den Gruppentitel aus der Gruppen-ID ermiiteln

  • Hallo zusammen,

    ich möchte in einem Joomla5-Modul (Typ: Eigenes Modul) verschiedene Texte anzeigen lassen. Die Anzeige soll jeweils abhängig davon sein, welcher Benutzergruppe ein eingeloggter User zugehört.

    Folgendes habe ich mir gerade zusammengebastelt:

    PHP
    <?php
    $groups = $user->get('groups');
    foreach ($groups as $group) {
    if ($group == 10) {echo '<p>Text 1</p>';}
    if ($group == 11) {echo '<p>Text 2</p>';}
    ?>

    Nun möchte ich in der IF-Anweisung aber nicht die Gruppen-ID verwenden, sondern gerne den Gruppentitel. Wie bekomme ich das hin?

    Bitte keine Hinweise darauf, die Zugriffssteuerung von Joomla zu verwenden. Dessen bin ich mir bewusst. MIt obiger Methode kann ich mir das mehrfache Anlegen von Beiträgen/Modulen ersparen, was die Wartung und Pflege vereinfacht.

  • Ich wüsste spontan keine Helper-Methode dafür; du müsstest anhand der IDs die zugehörigen Titel aus der Datenbank abfragen um damit den Vergleich zu machen, das ist hochgradig Ineffizient.

    Definier dir die Gruppen-IDs einfach als Variablen, dann hast du "sprechende" Vergleiche:

    PHP
    <?php
    $adminGruppe = 11;
    $andereGruppe = 12;
    
    if ($group === $adminGruppe) {}
    if ($group === $andereGruppe) {}

    Die sauberere Alternative zu Variablen wären enums, aber wenn ich deine beschreibung zur Struktur richtig verstehe, ist das keine Option weil du keine Stelle zum zentralen Laden eins solche Enums hast.