Wer in Joomla mit Benutzer-Profilfeldern arbeitet, kennt das Problem: Manche Felder müssen bei der Registrierung durch den User angelegt werden. Sollen im Frontend angezeigt werden, dürfen aber nicht in den Profil-Einstellungen durch den Benutzer geändert werden. Genau hier setzt das Plugin „Lock User Custom Fields“ an. Es sperrt ausgewählte Custom Fields im Benutzerprofil – entweder als readonly oder disabled. Kurz gesagt: Du definierst, welche Feld-Codenamen unangetastet bleiben. Das Plugin macht den Rest – schlank, ohne Core-Hacks, updatefest.
Was das Plugin genau macht
- Zielgenau sperren: Du trägst die Codenamen der zu sperrenden Custom Fields ein (jeweils eine Zeile).
- Zwei Modi zur Auswahl:
- Readonly – Feld ist sichtbar, nicht editierbar, wird beim Absenden dennoch übermittelt.
- Disabled – Feld ist deaktiviert und der aktuelle Wert wird beim Speichern serverseitig erzwingend beibehalten (falls Browser/Plugins Felder doch manipulieren). - Optional nur im Frontend aktiv: Auf Wunsch greift die Sperre ausschließlich im Frontend, während Administrator:innen im Backend frei editieren können.
- Datenerhalt garantiert: In beiden Modi bleiben bestehende Werte erhalten; im Modus „disabled“ sorgt ein Hook beim Speichern zusätzlich für Schutz.
Typische Anwendungsfälle
- Stammdaten schützen: Kundennummern, Mandanten-IDs, interne Rollen/Status.
- Verifizierte Informationen fixieren: E-Mail-Verifikation, Prüfflags, externe CRM-Keys.
- Compliance-Szenarien: Felder, die nur vom Support oder der Buchhaltung geändert werden dürfen.
Installation & Aktivierung
Erweiterung installieren:
- ZIP über Erweiterungen → Verwalten → Installieren hochladen.
- Plugin aktivieren: System → Plugins öffnen, User – Lock User Custom Fields suchen und aktivieren.
Konfigurieren:
- Gesperrte Custom Fields (eins pro Zeile): Trage hier die Feld-Codenamen ein (nicht den Titel).
- Sperrmodus: Readonly oder Disabled.
- Nur im Frontend anwenden: Ja/Nein.
Tipp: Den Feld-Codenamen findest du im jeweiligen Custom Field unter Feldname (nicht Label/Titel).
So funktioniert’s unter der Haube (für Techies)
Beim Laden des Benutzerformulars setzt das Plugin je Feldattribut readonly oder disabled (Namespace com_fields). Vor dem Speichern (Hook onUserBeforeSave) werden die aktuellen Feldwerte serverseitig ausgelesen und für die gelockten Feldnamen zwangskonserviert. So werden manipulierte Requests abgefangen. Die Liste der Felder wird als Zeilenliste aus den Plugin-Parametern geparst und dedupliziert.
Kompatibilität
Getestet unter Joomla! 5 & Joomla! 6
Changelog
V 1.0.0 (23.10.2025)
Release
V 1.0.1 (23.10.2025)
CustomFields wurden bei der Registrierung geblockt – Fehler behoben.