ConPresso-Admins
Entwickler
Wiki
ConPresso-Admins
Entwickler
Wiki
Die Navigation des Backends im linken Frame wird auf Basis eines Arrays aufgebaut und kann dadurch z.B. in Modulen verändert oder ergänzt werden. Der Handler $hdlr_navigation, der diese Operation erlaubt wird auf der Seite Modulhandler? erklärt.
Einzelne Navigationspunkte werden durch Elemente innerhalb des Arrays beschrieben und haben die folgende Form:
$navigation['FirstLevel'][] = array(
'caption' => 'caption',
'title' => 'title', // optional
'url' => 'url', // optional
'target' => 'target' // optional, default: 'cpo_content'
);
Kleinere Module sollten sich auf einen Unterpunkt unter "Module" beschränken, wärend aufwändigere Module natürlich ruhig eigene Elemente in der ersten Ebene ergänzen können.
Grundsätzlich ist es natürlich auch möglich, Punkte aus der Navigation zu entfernen oder einen neuen Unterpunkt zwischen zwei anderen Punkten zu ergänzen. Hierzu sind aber aufwändigere Operationen innerhalb des Arrays nötig, darum sollte dieses Vorgehen vermieden werden.
Beim Anlegen der Navigationspunkte kann man z.B. anhand der Session-Variable $_SESSION['SID_user']['admin'] prüfen, ob der Benutzer überhaupt eingeloggt ist und/oder ob der aktuelle Benutzerlevel (ROLE_EDITOR, ROLE_CHIEFEDITOR, ROLE_SUPERUSER bzw. ROLE_ADMIN) die gewünschte Aktion erlaubt.
$navigation['FirstLevel'][] = 'space';
$navigation['FirstLevel'] = array( // hier fehlt im Vergleich zu oben das [] vor der Zuweisung
'caption' => 'caption',
...
);
Das folgende Codebeispiel zeigt das Anhängen eines neuen Unterpunktes unter der Navigationsebene "Module". Sollte diese noch nicht existieren, wird sie hierdurch erzeugt:
$navigation['Modules'][] = array(
'caption' => 'Ein Modul',
'url' => BASE_URL.'modulverzeichnis/aktion.php'
);
$navigation['Modules'][] = 'space';
Die letzte Zeile sorgt dafür, dass ein wenig Platz vor eventuell nachfolgenden Unterpunkten reserviert wird, falls z.B. andere Module ebenfalls Navigationspunkte unter "Module" ergänzen wollen.