Zum Inhalt springen

Eigenes Backend-Modul wird für nicht-Admin-User nicht angezeigt

Erstellt am 4. April 2012 · 2 Antworten · letzte Antwort am 4. April 2012

Tags: Frage

merendo ·

Hallo Gemeinde,

eigentlich kann ich mir nicht vorstellen, dass ich der Erste bin, dem dieses Problem begegnet, aber weder Google noch die Suche hier im Forum haben mir weiter geholfen.

Ich habe eine eigene Typo3 extension geschrieben, und für diese nun noch ein Backend-Modul angelegt. Als Admin-User kann ich wunderbar darauf zugreifen, und alles machen, was mich das Modul eben machen lassen soll. Aber sobald ich mich als nicht-Admin-User anmelde (und das wird beim Kunden ja immer der Fall sein), zeigt mir das BE-Modul nur noch die Überschrift des BE-Moduls, welche ich im Kickstarter angegeben habe, im rechten Bereich an, sonst nix mehr. Es ist so, als würde die /mod1/index.php gar nicht erst aufgerufen.

Hab schon die Nutzerrechte abgegrast, hab auch in der index.php etwas an der Rechteverwaltung gespielt und diese entschärft, hat alles nix gebracht.

Hab ich Tomaten auf den Augen oder wo muss ich da drehen, damit der normale User auf das Modul zugreifen kann?

Danke! merendo

frankiert ·

Hallo merendo,

wir hatten bei einem Projekt vor 30min dasselbe Problem und ich stieß auf deine Frage.

Unsere Lösung:
In der index.php des Moduls stand in der Funktion main() folgende Condition:

if (($this->id AND $access) OR ($GLOBALS['BE_USER']->user['admin'] AND !$this->id))

-> Also die Prüfung, ob das Admin-Flag des BE-Users gesetzt ist.

Das habe ich ersetzt durch:

if (($this->id AND $access) OR ($GLOBALS['BE_USER']->user['uid'] AND !$this->id))

-> Die schwächere Prüfung, ob's überhaupt ein BE-User ist.

Viele Grüße
frankiert

merendo ·

Geilomatik! An genau der gleichen Zeile in der index.php hatte ich auch schon herumgepfuscht, aber statt user['admin'] durch user['uid'] zu ersetzen, hatte ich es durch user['(username)'] ersetzt. Brachte damals nicht den gewünschten Effekt.

Nun funktioniert es!

Vielen Dank!