Modul Frontend-Bearbeitung - nur bestimmte Daten erlauben

  • Moin moin,


    ich habe ein Modul erstellt, bei dem für eine bestimmte Benutzergruppe die Frontend-Bearbeitung erlaubt werden soll. Änderungen der Grundeinstellungen sollen hingegen nicht möglich sein bzw. verweigert werden.


    Wenn man die Frontend-Bearbeitung dieser Gruppe zulässt, dann darf diese Grundsätzlich alles ändern - also auch die grundsätzlichen Modul-Einstellungen, was jedoch verhindert werden soll.


    Am besten wäre es, wenn man definieren könnte, welches Fieldset der XML diese Gruppe bearbeiten darf und dann auch nur dieses Fieldset im Frontend zu sehen ist. 1f609.png


    Wäre das überhaupt möglich und wie könnte man das realisieren?

  • Ich habe eine erste Variante wie folgt erstellt:

    1. Die Berechtigungseinstellungen im Modul für Löschen und Bearbeiten ebenfalls auf "erlaubt" gesetzt.
    2. Override von "com_config" > "module" erstellt.
    3. Die "default.php" wie folgt angepasst

    vor der HTML-Ausgabe im PHP Code hinzugefügt:

    PHP
    <?php
    /************************/
    $group = 10; //ID der Gruppe, die eingeschränkt werden soll
    $user = JFactory::getUser();
    $groups = $user->get('groups');
    /************************/
    ?>


    Weiter unten die Ausgabe jeweils mit IF Abfragen ergänzt:

    Das ganze bis zur Zeile: <div id="options">


    Das gleiche hatte ich auch in der Datei "default_options.php" probiert, so dass nur das Fieldset ausgegeben wird, welches im Frontend bearbeitet werden darf.


    Das hatte dann soweit funktioniert. Allerdings wurden beim Speichern alle Fieldset-Felder, die nicht angezeigt wurden komplett gelöscht und auf Standard zurück gesetzt.

    Neue Frage:
    Die Grundeinstellungen werden dabei derzeit nicht gelöscht, wie in den Optionen. Kann man das so belassen oder gibt es eine bessere Alternative?

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.