Custom menu.xml

Hallo zusammen,

ich bin noch ziemlich neu bei OXID, von daher nehmt mich nicht so hart ran :slight_smile:
Meine Frage… ist es möglich das Admin Menü nach eigenen Wünschen anzupassen? Hinzufügen von Menüpunkten ist nicht das Problem, sondern eher das entfernen.

Hatte mir gedacht ich baue eine Checkbox bei allen Administratoren ein und wenn die aktiv ist hat man nur noch Zugriff auf die Produkte und die CMS Seiten.

Die Checkbox ist kein Problem, “nur” die Anpassung des Menüs. Hat jemand vielleicht einen guten Ratschlag für mich?

Vielen Dank schon mal!
tBauer

Hi,
das Problem ist, dass allein durch das Verstecken der Knöpfe der Zugriff auf die jeweiligen Seiten noch lange nicht verweigert wird.

Die billigste Möglichkeit zum Verstecken wäre über CSS.
https://www.mediaevent.de/css/css-selektor-attributselektor.html

z.B. die Versandarten-Konfiguration hat den Link:
shop.de/index.php?unwichtiges=Zeug&cl=deliveryset
die wichtige Stelle hier ist “cl=deliveryset”, anhand der “cl=xxx” Parameter weiß OXID, welche Seite angezeigt werden soll.
Der entsprechende CSS Selector wäre also a[href*='cl=deliveryset'] + display:none;schon ist es weg.
Jetzt musst du nur noch die nötigen CSS-Anweisungen dynamisch im Admin erzeugen.

Die zweit-billigste Möglichkeit wäre ein vorgefertigtes Menü mit nur den Navigationspunkten, die der jeweilige Nutzer sehen darf. Also ziemlich hardcoded. Dieses Template wird dann statt dem original Template eingefügt.

Und zu guter Letzt, die dritt-billigste Möglichkeit wäre die besagten Menü-Templates abzuändern und dort für jeden Menüpunkt zu prüfen, ob der aktuelle Nutzer Zugriff darauf haben dürfte. Dies erfordert ein Modul, das die Funktion zur Prüfung der Zugriffsrechte beinhaltet.

Hi vanilla_thunder,

erst mal danke dir für die schnelle Antwort!
Mit dritt-billigsten Möglichkeit meinst du dann auch dass dies die bestmögliche Lösung ist oder?

Viele Grüße
tBauer

nicht unbedingt, die bestmögliche Lösung wäre in meinen Augen tatsächlich etwas, das den Aufruf der einzelnen Admin-Seiten verweigert, so dass diese nicht über URL aufgerufen werden könnten (im Gegensatz zu der anderen Lösung, die nur die Menüpunkte versteckt).
Diese Lösung baut im Endeffekt auf einer der 3 genannten Lösungen, bietet aber so eine Extra-Sicherheitsmaßnahme und unter Umständen auch deutlich mehr Flexibilität, wie z.B. “nur lesenden Zugriff erlauben”, so dass der Nutzer zwar die Artikeldaten sehen, aber nicht ändern darf.

Aber man muss auch ehrlich sagen, dass kaum ein Nutzer die URLs von einzelnen Admin-Seiten aus dem Kopf nachstellen könnte, um die Seiten aufzurufen. Daher empfinde ich das reine Verstecken der Buttons als angemessen.

Danke vanilla_thunder, du hast mir damit sehr geholfen!

Viele Grüße
tBauer