Hallo Forum 🙂
Habe eine Extension (Backend-Modul) mit dem Kickstarter unter Typo3 4.0.4 erstellt. Diese erweitert das Hilfe-Menü in Typo3 um einen weiteren Punkt, wo man dann ein Handbuch runterladen kann.
Klappt auch als Admin ganz gut, nur der normale BE-User sieht zwar den Menüpunkt, aber wenn er draufklickt steht im rechten Bereich nur die Überschrift bzw. der Titel der Extension. Also es wird kein Inhalt aus der index.php der Extension angezeigt.
Hab in der mod1/conf.php
$MCONF['access']='user,group';
$MCONF['script']='index.php';
stehen. Ich vermute, dass er in der mod1/index.php an der Stelle
if (($this->id && $access) || ($BE_USER->user['admin'] && !$this->id)) {
rausspringt.
Der BE-User hat aber auch Rechte auf das Modul.
Wo kann es noch dran liegen? Hat jemand einen Tipp?
Viele Grüße
David
if (($this->id && $access) || ($BE_USER->user['admin'] && !$this->id)) {
Diese Zeile ist für Web-Module gedacht, $this->id ist die gewählte Seite.
Da Du unabhängig von Seiten bist, musst Du das abändern, da der Wert 0 ist und kein BE-User ausser admins auf die Seite 0 (Globus) zugreifen konnen:
if ($access || $BE_USER->user['admin']) {
Morgen 🙂
Danke für deine Antwort, hab die Zeile abgeändert. Caches gelöscht usw. Hat sich aber nichts geändert.
Muss ich vielleicht an der Variable $access noch was schrauben? Diese wird über der IF-Abfrage per
$access = is_array($this->pageinfo) ? 1 : 0;
definiert.
Einfach $access = true zu setzen will ich nicht. Ne, dann kann ja jeder User die Extension sehn. Das geht nicht.
Und nochmal edit:
$this->pageinfo = t3lib_BEfunc::readPageAccess($this->id,$this->perms_clause);
In der Zeile wird ja auch wieder auf diese ID mit this->id verwiesen. Was geb ich da an? Die Rootpage?
Grüße
David
nein, Du kannst garkeine Seite einbeziehen. Also access ganz raus und den Zugang nur über die Gruppenrechte einschränken.
Hallo Steffen,
vielen Dank!
Mit folgender Zeile funktioniert es:
if (($BE_USER->user["admin"] && !$this->id) || ($BE_USER->user["uid"] && !$this->id)) {
Gefunden hier:
http://www.typo3forum.net/forum/typo3-3-x-fragen-und-probleme/2821-awstats-von-tools-zu-web-verschieben.html
Grüße
David
Hi David,
das ist unsinnig, dann kannst Du auch schreiben:
if(1) { ...
!$this->id trifft immer zu, und ein BE-User ist es auch immer 😉
Hallo Forum,
ich habe genau dieses Problem, deshalb hänge ich meinen Beitrag mal daran auf. (Ich hoffe, der ursprüngliche Fragesteller wurde nicht deshalb gelöscht, weil diese Frage zu blöd war...)
Bei mir isses eigenlich noch schlimmer. Gleiche Ausgangssituation (mit Kickstarter neue BE-Modul-Extension erstellt). Der BE-Modul-Eintrag erscheint, sogar mit eigenem Icon, gemäß der definierten Rechte. Klickt ein andere User als ich selbst (auch Admins) auf das Modul, erscheint rechts nur die Modul-Überschrift. Nur wenn ich selbst, der Extension-Ersteller, auf den Modul-Eintrag klicke, erscheint rechts alles wie es soll.
Ich habe sogar die Zeile
if (($this->id && $access) || ($BE_USER->user['admin'] && !$this->id)) {
brutal geändert in
if (true) {
und auch mal die Zeile ganz oben
$BE_USER->modAccess($MCONF,1); // This checks permissions and exits ...
auskommentiert. Keine Änderung. Nur wenn ich selbst im BE angemeldet bin, funktioniert das Modul.
Bin verzweifelt und ratlos, mein persönlicher TYPO3-Guru ist gerade beleidigt und der Launching-Termin der Website steht kurz bevor.
Wer kann helfen?
Martin