Entwickler.Navigation History

Hide minor edits - Show changes to markup

 
 
April 01, 2011, at 11:46 PM by tthelen -
Added lines 1-2:

(:redirect 'http://docs.studip.de/develop/Entwickler/Navigation':)

 
 
January 20, 2011, at 01:39 PM by eludwig -
Changed lines 15-16 from:

Für die Erzeugung und Konfiguration eines Navigationsobjekts gibt es im wesentlichen vier Operationen:

to:

Für die Erzeugung und Konfiguration eines Navigationsobjekts gibt es im wesentlichen fünf Operationen:

Added lines 30-33:
  • setDescription($description)
    Setzt eine Beschreibung für den Navigationspunkt. Diese kann je nach Darstellungsform der Navigationsebene als Tooltip (z.B. bei Reitern) oder Beschreibungstext auftauchen (z.B. auf der Startseite vor dem Login oder in den Verwaltungsfunktionen einer Veranstaltung).
Changed lines 105-113 from:
  • / Wurzelknoten der Navigation
    • start persönliche Startseite (StartNavigation)
      • my_courses meine Veranstaltungen
      • … …
    • browse Veranstaltungen und Einrichtungen (BrowseNavigation)
      • my_courses meine Veranstaltungen
      • courses Veranstaltungen Suchen / Hinzufügen
      • … …
    • course gewählte Veranstaltung / Einrichtung (CourseNavigation)
to:
  • / Wurzelknoten der Navigation
    • start Persönliche Startseite (StartNavigation)
      • my_courses Meine Veranstaltungen
      • … …
    • browse Veranstaltungen und Einrichtungen (BrowseNavigation)
      • my_courses Meine Veranstaltungen
      • … …
    • course gewählte Veranstaltung / Einrichtung (CourseNavigation)
      • main Übersicht
        • info Kurzinfo
        • details Details
      • admin Verwaltung (nur für Tutor und Dozent)
        • main Verwaltungsfunktionen
          • copy Veranstaltung kopieren (in der Infobox)
          • archive Veranstaltung archivieren (in der Infobox)
          • visibility Sichtbarkeit ändern (in der Infobox)
        • details Grunddaten
        • study_areas Studienbereiche
        • dates Zeiten/Räume
        • … …
Changed line 146 from:
  • topics Ablaufplan bearbeiten (nur für Tutor und Dozent)
to:
  • topics Ablaufplan bearbeiten (nur für Tutor und Dozent)
Changed lines 164-168 from:
  • … Plugins und eLearning-Module
  • messaging systeminterne Nachrichten (MessagingNavigation)
    • calendar Terminkalender
    • schedule Stundenplan
    • … …
to:
  • Plugins und eLearning-Module
  • messaging systeminterne Nachrichten (MessagingNavigation)
    • calendar Terminkalender
    • schedule Stundenplan
    • … …
Changed line 177 from:
  • … …
to:
  • … …
Changed line 195 from:
  • … …
to:
  • … …
Changed line 200 from:
  • … …
to:
  • … …
Changed line 204 from:
  • … …
to:
  • … …
 
 
September 10, 2010, at 01:16 PM by Krassmus -
Changed lines 101-103 from:
  • / Wurzelknoten der Navigation
    • start persönliche Startseite (StartNavigation)
      • my_courses meine Veranstaltungen
to:
  • / Wurzelknoten der Navigation
    • start persönliche Startseite (StartNavigation)
      • my_courses meine Veranstaltungen
Changed lines 105-107 from:
  • browse Veranstaltungen und Einrichtungen (BrowseNavigation)
    • my_courses meine Veranstaltungen
    • courses Veranstaltungen Suchen / Hinzufügen
to:
  • browse Veranstaltungen und Einrichtungen (BrowseNavigation)
    • my_courses meine Veranstaltungen
    • courses Veranstaltungen Suchen / Hinzufügen
Changed lines 109-115 from:
  • course gewählte Veranstaltung / Einrichtung (CourseNavigation)
    • forum Forum
    • files Dateibereich
    • … …
  • messaging systeminterne Nachrichten (MessagingNavigation)
    • calendar Terminkalender
    • schedule Stundenplan
to:
  • course gewählte Veranstaltung / Einrichtung (CourseNavigation)
    • forum Forum
      • view Themenansicht
      • unread Neue Beiträge
      • recent Letzte Beiträge
      • search Suchen
      • create_topic Neues Thema anlegen (nur für Tutor und Dozent)
    • members TeilnehmerInnen (nur in Veranstaltungen)
      • view TeilnehmerInnen
      • aux_data Zusatzangaben (nicht immer aktiviert)
      • view_groups Funktionen / Gruppen
      • edit_groups Funktionen / Gruppen verwalten (nur für Tutor und Dozent)
    • faculty Personal (nur in Einrichtungen)
      • view MitarbeiterInnen
      • edit_groups Funktionen / Gruppen verwalten (nur für Tutor und Dozent)
    • files Dateibereich
      • tree Baumstruktur
      • all Alle Dateien
    • schedule Ablaufplan
      • all Alle Termine
      • type1 Sitzungstermine
      • other Andere Termine
      • topics Ablaufplan bearbeiten (nur für Tutor und Dozent)
    • scm Freie Informationen (einstellbarer Tabname)
      • eine beliebige Anzahl an Tabs mit MD5_id als Pfadnamen
    • literatur Literatur
      • view Literatur
      • print Druckansicht
      • edit Literatur bearbeiten (nur für Tutor und Dozent)
    • wiki Wiki
      • show WikiWikiWeb
      • listnew Neue Seiten
      • listall Alle Seiten
      • export Export
    • resources Ressourcen
      • overview Übersicht
      • group_schedule Übersicht Belegung
      • view_details Details
      • view_schedule Belegung
      • edit_assign Belegung bearbeiten
    • … Plugins und eLearning-Module
  • messaging systeminterne Nachrichten (MessagingNavigation)
    • calendar Terminkalender
    • schedule Stundenplan
Changed lines 154-161 from:
  • community Wer ist Online (CommunityNavigation)
    • adress_book Adressbuch
    • chat Chat
    • studygroups Studiengruppen
    • score Rangliste
  • profile Profilseite (ProfileNavigation)
    • view persönliche Homepage
    • avatar Hochladen des persönlichen Bildes
to:
  • community Wer ist Online (CommunityNavigation)
    • adress_book Adressbuch
    • chat Chat
    • studygroups Studiengruppen
    • score Rangliste
  • profile Profilseite (ProfileNavigation)
    • view persönliche Homepage
    • avatar Hochladen des persönlichen Bildes
Changed lines 163-179 from:
  • calendar Termine und Stundenplan (CalendarNavigation)
  • search Die neue Suchseite (SearchNavigation)
    • courses
    • archiv
    • studygroups
    • persons
    • institutes
    • literature
    • resources
  • tools Die neue Werkzeugseite (ToolsNavigation)
    • news
    • votes
    • literature
    • elearning
  • admin Administrationsbereich (AdminNavigation)
    • course Veranstaltungen
    • config globale Einstellungen
to:
  • calendar Termine und Stundenplan(CalendarNavigation)
  • search Die neue Suchseite (SearchNavigation)
    • courses
    • archiv
    • studygroups
    • persons
    • institutes
    • literature
    • resources
  • tools Die neue Werkzeugseite (ToolsNavigation)
    • news
    • votes
    • literature
    • elearning
  • admin Administrationsbereich (AdminNavigation)
    • course Veranstaltungen
    • config globale Einstellungen
Changed lines 181-184 from:
  • links Link-Liste oben rechts
    • account Kontoeinstellungen des Benutzers
    • search Suche
    • logout Logout
to:
  • links Link-Liste oben rechts
    • account Kontoeinstellungen des Benutzers
    • search Suche
    • logout Logout
Changed lines 186-188 from:
  • login Menü auf der Login-Seite (LoginNavigation)
    • login Login
    • register Registrieren
to:
  • login Menü auf der Login-Seite (LoginNavigation)
    • login Login
    • register Registrieren
 
 
July 22, 2010, at 04:10 PM by mriehe -
Changed lines 101-154 from:
  /                   Wurzelknoten der Navigation
      start           persönliche Startseite
          my_courses  meine Veranstaltungen
          …           …
      browse          Veranstaltungen und Einrichtungen
          my_courses  meine Veranstaltungen
          courses     Veranstaltungen Suchen / Hinzufügen
          …           …
      course          gewählte Veranstaltung / Einrichtung
          forum       Forum
          files       Dateibereich
          …           …
      messaging       systeminterne Nachrichten
          calendar    Terminkalender
          schedule    Stundenplan
          …           …
      community       Wer ist Online
          adress_book Adressbuch
		  chat        Chat
		  studygroups Studiengruppen
		  score       Rangliste
      profile         Prilseite
          view        persönliche Homepage
          avatar      Hochladen des persönlichen Bildes
          …           …
      calendar        Termine und Stundenplan
	  search          Die neue Suchseite
	      courses
		  archiv
		  studygroups
		  persons
		  institutes
		  literature
		  resources
      tools           Die neue Werkzeugseite
	      news
		  votes
		  literature
		  elearning
      admin           Administrationsbereich
          course      Veranstaltungen
          config      globale Einstellungen
          …           …
      links           Link-Liste oben rechts
	      account     Kontoeinstellungen des Benutzers
          search      Suche
          logout      Logout
          …           …
      login           Menü auf der Login-Seite
          login       Login
          register    Registrieren
          …           …

Anmerkung: Die Punkte "course", "links" und "login" besitzen kein Symbol in der Top-Navigation.

to:
  • / Wurzelknoten der Navigation
    • start persönliche Startseite (StartNavigation)
      • my_courses meine Veranstaltungen
      • … …
    • browse Veranstaltungen und Einrichtungen (BrowseNavigation)
      • my_courses meine Veranstaltungen
      • courses Veranstaltungen Suchen / Hinzufügen
      • … …
    • course gewählte Veranstaltung / Einrichtung (CourseNavigation)
      • forum Forum
      • files Dateibereich
      • … …
    • messaging systeminterne Nachrichten (MessagingNavigation)
      • calendar Terminkalender
      • schedule Stundenplan
      • … …
    • community Wer ist Online (CommunityNavigation)
      • adress_book Adressbuch
      • chat Chat
      • studygroups Studiengruppen
      • score Rangliste
    • profile Profilseite (ProfileNavigation)
      • view persönliche Homepage
      • avatar Hochladen des persönlichen Bildes
      • … …
    • calendar Termine und Stundenplan (CalendarNavigation)
    • search Die neue Suchseite (SearchNavigation)
      • courses
      • archiv
      • studygroups
      • persons
      • institutes
      • literature
      • resources
    • tools Die neue Werkzeugseite (ToolsNavigation)
      • news
      • votes
      • literature
      • elearning
    • admin Administrationsbereich (AdminNavigation)
      • course Veranstaltungen
      • config globale Einstellungen
      • … …
    • links Link-Liste oben rechts
      • account Kontoeinstellungen des Benutzers
      • search Suche
      • logout Logout
      • … …
    • login Menü auf der Login-Seite (LoginNavigation)
      • login Login
      • register Registrieren
      • … …

Anmerkung: Die Punkte "course", "links" und "login" besitzen kein Symbol in der Top-Navigation.

 
 
July 22, 2010, at 04:03 PM by mriehe -
Changed lines 99-100 from:

Die globale Struktur der Navigation sieht derzeit (es werden sich noch Änderungen durch geplante Umbauten der Navigation ergeben) so aus:

to:

Die globale Struktur der Navigation sieht derzeit so aus:

Deleted line 103:
          homepage    persönliche Homepage
Changed lines 117-119 from:
      chat            Stud.IP Chat
      online          Wer ist online?
      homepage        Homepage und Einstellungen
to:
      community       Wer ist Online
          adress_book Adressbuch
		  chat        Chat
		  studygroups Studiengruppen
		  score       Rangliste
      profile         Prilseite
Added lines 127-139:
	  search          Die neue Suchseite
	      courses
		  archiv
		  studygroups
		  persons
		  institutes
		  literature
		  resources
      tools           Die neue Werkzeugseite
	      news
		  votes
		  literature
		  elearning
Added line 145:
	      account     Kontoeinstellungen des Benutzers
 
 
March 24, 2010, at 09:05 PM by eludwig -
Changed line 42 from:

Das Einhängen in die vorhandene Navigationsstruktur erfolgt wahlweise entweder über die statische Methode Navigation::addItem($path, $navigation) oder über die Methode addSubNavigation($name, $navigation) des übergeordneten Navigationsobjekts. Entsprechend gibt es auch die Methode Navigation::removeItem($path) bzw. removeSubNavigation($name), um einen Eintrag wieder zu entfernen. Die Methode Navigation::insertItem($path, $where, $navigation) fügt einen Eintrag an einer bestimmten Position in die vorhandene Navigation ein.

to:

Das Einhängen in die vorhandene Navigationsstruktur erfolgt wahlweise entweder über die statische Methode Navigation::addItem($path, $navigation) oder über die Methode addSubNavigation($name, $navigation) des übergeordneten Navigationsobjekts. Entsprechend gibt es auch die Methode Navigation::removeItem($path) bzw. removeSubNavigation($name), um einen Eintrag wieder zu entfernen. Die Methode Navigation::insertItem($path, $navigation, $where) fügt einen Eintrag an einer bestimmten Position in die vorhandene Navigation ein.

 
 
September 16, 2009, at 08:11 PM by eludwig -
Changed lines 28-29 from:
  Setzt ein Bild für den Navigationspunkt. Zusätzliche Attribute für den img-Tag können ebenfalls übergeben werden (title, style o.ä.).
to:
  Setzt ein Bild für den Navigationspunkt, entweder über den Pfad zu einer Bilddatei (z.B. in einem Plugin) oder über einen Bildnamen aus dem Assets-Bereich (der Normalfall im Kernsystem). Zusätzliche Attribute für den img-Tag können ebenfalls übergeben werden (title, style o.ä.).
Changed lines 42-43 from:

Das Einhängen in die vorhandene Navigationsstruktur erfolgt wahlweise entweder über die statische Methode Navigation::addItem($path, $navigation) oder über die Methode addSubNavigation($name, $navigation) des übergeordneten Navigationsobjekts. Entsprechend gibt es auch die Methode Navigation::removeItem($path) bzw. removeSubNavigation($name), um einen Eintrag wieder zu entfernen.

to:

Das Einhängen in die vorhandene Navigationsstruktur erfolgt wahlweise entweder über die statische Methode Navigation::addItem($path, $navigation) oder über die Methode addSubNavigation($name, $navigation) des übergeordneten Navigationsobjekts. Entsprechend gibt es auch die Methode Navigation::removeItem($path) bzw. removeSubNavigation($name), um einen Eintrag wieder zu entfernen. Die Methode Navigation::insertItem($path, $where, $navigation) fügt einen Eintrag an einer bestimmten Position in die vorhandene Navigation ein.

Changed lines 48-49 from:

$test1nav = new Navigation('Test 1', 'demo.php', array('test' => 1); $test2nav = new Navigation('Test 2', 'demo.php', array('test' => 2);

to:

$test1nav = new Navigation('Test 1', 'demo.php', array('test' => 1); // URL: demo.php?test=1 $test2nav = new Navigation('Test 2', 'demo.php', array('test' => 2); // URL: demo.php?test=2

Changed lines 99-100 from:

Die globale Struktur der Navigation sieht derzeit (es können sich noch Änderungen ergeben) so aus:

to:

Die globale Struktur der Navigation sieht derzeit (es werden sich noch Änderungen durch geplante Umbauten der Navigation ergeben) so aus:

Changed line 103 from:
          my_courses  Meine Veranstaltungen
to:
          my_courses  meine Veranstaltungen
Added lines 107-108:
          my_courses  meine Veranstaltungen
          courses     Veranstaltungen Suchen / Hinzufügen
Changed line 116 from:
          timetable   Stundenplan
to:
          schedule    Stundenplan
Changed lines 121-122 from:
          alle        persönliche Homepage
          bild        Hochladen des persönlichen Bildes
to:
          view        persönliche Homepage
          avatar      Hochladen des persönlichen Bildes
Added lines 126-127:
          course      Veranstaltungen
          config      globale Einstellungen
Changed line 138 from:

Anmerkung: Die Punkte "course", "links" und "login" haben kein Symbol in der Top-Navigation.

to:

Anmerkung: Die Punkte "course", "links" und "login" besitzen kein Symbol in der Top-Navigation.

 
 
August 30, 2009, at 06:19 PM by eludwig -
Changed lines 5-6 from:

Ab Version 1.11 soll eine neue API zur Manipulation der globlan Navigationsstruktur in Stud.IP Einzug halten. Damit sollen dynamische Änderungen an der Navigation leichter möglich und gleichzeitig der Pflegeaufwand der zentralen Dateien reduziert werden. Der Begriff "Navigation" umfaßt dabei nicht nur die Reiternavigation, sondern unter anderem auch die Icons in der Kopfzeile – im folgenden "Top-Navigation" genannt – und die Links auf der persönlichen Startseite sowie ggf. in der Info-Box vorhandene Navigationspunkte (sofern es dort welche gibt).

to:

Ab Version 1.11 soll eine neue API zur Manipulation der globalen Navigationsstruktur in Stud.IP Einzug halten. Damit sollen dynamische Änderungen an der Navigation leichter möglich und gleichzeitig der Pflegeaufwand der zentralen Dateien reduziert werden. Der Begriff "Navigation" umfaßt dabei nicht nur die Reiternavigation, sondern unter anderem auch die Icons in der Kopfzeile – im folgenden "Top-Navigation" genannt – und die Links auf der persönlichen Startseite, sowie ggf. in der Info-Box vorhandene Navigationspunkte (sofern es dort welche gibt).

Changed lines 11-12 from:

Besitzt ein Navigationspunkt, der weitere Unterpunkte hat, keine eigene URL, so wird automatisch die URL des ersten Unterpunkts verwendet, der eine URL besitzt. Das ist besonders dann praktisch, wenn der erste Punkt der Subnavigation je nach Rechtestufe manchmal nicht angezeigt wird. So verweist der übergeordnete Reiter immer automatisch auf den ersten sichtbaren Reiter der Subnavigation. Enthält die Subnavigation keine (sichtbaren) Elemente, wird der übergeordnete Reiter dann ebenfalls automatisch ausgeblendet.

to:

Besitzt ein Navigationspunkt, der weitere Unterpunkte hat, keine eigene URL, so wird automatisch die URL des ersten Unterpunkts verwendet, der eine URL gesetzt hat. Das ist besonders dann praktisch, wenn der erste Punkt der Subnavigation je nach Rechtestufe manchmal nicht angezeigt wird. So verweist der übergeordnete Reiter immer automatisch auf den ersten sichtbaren Reiter der Subnavigation. Enthält die Subnavigation keine (sichtbaren) Elemente, wird der übergeordnete Reiter dann ebenfalls automatisch ausgeblendet.

Changed lines 19-20 from:
  Erzeugt einen Navigationspunkt und setzt Titel und URL (und ggf. URL-Parameter).
to:
  Erzeugt einen Navigationspunkt und setzt Titel und (optional) URL und ggf. URL-Parameter.
Changed lines 24-25 from:
  Setzt den Titel bzw. die URL. URL-Parameter können wir beim URLHelper als Array von Schlüssel/Wert-Paaren übergeben werden.
to:
  Setzt den Titel bzw. die URL. Weitere URL-Parameter können wie beim URLHelper als Array von Schlüssel/Wert-Paaren übergeben werden.
Changed lines 28-31 from:
  Setzt ein Bild für den Navigationspunkt. Zusätzliche Attribute für den img-Tag können ebenfalls übergeben werden (title, style o.ä.).

Beispiel:

to:
  Setzt ein Bild für den Navigationspunkt. Zusätzliche Attribute für den img-Tag können ebenfalls übergeben werden (title, style o.ä.).

Ein kleines Beispiel:

Changed lines 33-34 from:

$navigation = new Navigation(_('Admin'));

to:

$navigation = new Navigation('Admin');

Changed line 37 from:
    array('title' => _('Zu Ihrer Administrationsseite')));
to:
    array('title' => 'Zu Ihrer Administrationsseite'));
Changed lines 42-43 from:

Das Einhängen in die vorhandene Navigationsstruktur erfolgt wahlweise entweder über die statische Methode Navigation::addItem($path, Navigation $navigation) oder über die Methode addSubNavigation($name, Navigation $navigation) des übergeordneten Navigationsobjekts. Entsprechend gibt es auch die Methode Navigation::removeItem($path) bzw. removeSubNavigation($name), um einen Eintrag wieder zu entfernen.

to:

Das Einhängen in die vorhandene Navigationsstruktur erfolgt wahlweise entweder über die statische Methode Navigation::addItem($path, $navigation) oder über die Methode addSubNavigation($name, $navigation) des übergeordneten Navigationsobjekts. Entsprechend gibt es auch die Methode Navigation::removeItem($path) bzw. removeSubNavigation($name), um einen Eintrag wieder zu entfernen.

Changed line 47 from:

$demonav = new Navigation('Demo', 'demo.php');

to:

$demonav = new Navigation('Demo', 'demo.php');

Changed lines 72-73 from:

Um den Punkt "Hochladen des persönlichen Bildes" auf eine eigene Seite umzuleiten:

to:

Um den Punkt "Hochladen des persönlichen Bildes" der Homepage auf eine eigene Seite in einem Plugin umzuleiten:

Changed lines 81-82 from:

Der auf der jeweils aktuellen Stud.IP-Seite "aktive" Navigationspunkt muß markiert werden, damit die korrekte Reiternavigation ausgwählt und dieser Punkt dort entsprechend hervorgehoben werden kann. Die "alte" Methode, die globale Variable $reiter_view zu setzen, funktioniert nun nicht mehr. Stattdessen muß man einen Navigationspunkt explizit aktivieren:

to:

Der auf der jeweils aktuellen Stud.IP-Seite "aktive" Navigationspunkt muß markiert werden, damit die korrekte Reiternavigation ausgewählt und dieser Punkt dort entsprechend hervorgehoben werden kann. Die "alte" Methode, die globale Variable $reiter_view zu setzen, funktioniert nun nicht mehr. Stattdessen muß man einen Navigationspunkt explizit aktivieren:

Changed line 90 from:

$demonav = new Navigation('Demo', 'demo.php');

to:

$demonav = new Navigation('Demo', 'demo.php');

 
 
August 30, 2009, at 06:07 PM by eludwig -
Added lines 1-133:

Neue Navigationsverwaltung

(:toc:)

Ab Version 1.11 soll eine neue API zur Manipulation der globlan Navigationsstruktur in Stud.IP Einzug halten. Damit sollen dynamische Änderungen an der Navigation leichter möglich und gleichzeitig der Pflegeaufwand der zentralen Dateien reduziert werden. Der Begriff "Navigation" umfaßt dabei nicht nur die Reiternavigation, sondern unter anderem auch die Icons in der Kopfzeile – im folgenden "Top-Navigation" genannt – und die Links auf der persönlichen Startseite sowie ggf. in der Info-Box vorhandene Navigationspunkte (sofern es dort welche gibt).

Allgemeines

Die gesamte Navigation wird von der Klasse Navigation in Stud.IP verwaltet, d.h. Navigationspunkte werden generell als Objekte erzeugt. Jeder Navigationspunkt kann beliebig viele Unterpunkte besitzen, so daß die Menge aller Navigationspunkte zusammen einen Baum bildet (zumindest solange ein Punkt nur an einer Stelle in der Navigation eingehängt wird). Einzelne Navigationspunkte können über ihren Pfad im Baum angesprochen werden. Jedem Navigationobjekt kann ein Bild zugewiesen werden, allerdings werden derzeit nur für die Punkte der Top-Navigation diese auch angezeigt. Navigationspunkte, die keine URL besitzen, werden automatisch ausgeblendet. Das gleiche gilt für Punkte der Top-Navigation, die kein Bild gesetzt haben.

Besitzt ein Navigationspunkt, der weitere Unterpunkte hat, keine eigene URL, so wird automatisch die URL des ersten Unterpunkts verwendet, der eine URL besitzt. Das ist besonders dann praktisch, wenn der erste Punkt der Subnavigation je nach Rechtestufe manchmal nicht angezeigt wird. So verweist der übergeordnete Reiter immer automatisch auf den ersten sichtbaren Reiter der Subnavigation. Enthält die Subnavigation keine (sichtbaren) Elemente, wird der übergeordnete Reiter dann ebenfalls automatisch ausgeblendet.

Erzeugung eines Navigationspunkts

Für die Erzeugung und Konfiguration eines Navigationsobjekts gibt es im wesentlichen vier Operationen:

  • __construct($title, $url = NULL, $params = NULL)
    Erzeugt einen Navigationspunkt und setzt Titel und URL (und ggf. URL-Parameter).
  • setTitle($title)
  • setURL($url, $params = NULL)
    Setzt den Titel bzw. die URL. URL-Parameter können wir beim URLHelper als Array von Schlüssel/Wert-Paaren übergeben werden.
  • setImage($image, $options = array())
    Setzt ein Bild für den Navigationspunkt. Zusätzliche Attribute für den img-Tag können ebenfalls übergeben werden (title, style o.ä.).

Beispiel:

(:source lang=php:)
$navigation = new Navigation(_('Admin'));
$navigation->setURL('adminarea_start.php');
$navigation->setImage('header_admin',
    array('title' => _('Zu Ihrer Administrationsseite')));

Einhängen eines Navigationspunkts

Das Einhängen in die vorhandene Navigationsstruktur erfolgt wahlweise entweder über die statische Methode Navigation::addItem($path, Navigation $navigation) oder über die Methode addSubNavigation($name, Navigation $navigation) des übergeordneten Navigationsobjekts. Entsprechend gibt es auch die Methode Navigation::removeItem($path) bzw. removeSubNavigation($name), um einen Eintrag wieder zu entfernen.

Um zum Beispiel zu einer Veranstaltung einen neuen Reiter "Demo" mit zwei Unterpunkten "Test 1" und "Test 2" hinzuzufügen, würde man zunächst die entsprechenden Navigationsobjekte erzeugen:

(:source lang=php:)
$demonav = new Navigation('Demo', 'demo.php');
$test1nav = new Navigation('Test 1', 'demo.php', array('test' => 1);
$test2nav = new Navigation('Test 2', 'demo.php', array('test' => 2);

und diese dann an der entsprechenden Stelle in die globale Navigationsstruktur einhängen:

(:source lang=php:)
Navigation::addItem('/course/demo', $demonav);
$demonav->addSubNavigation('test1', $test1nav);
$demonav->addSubNavigation('test2', $test2nav);

oder alternativ:

(:source lang=php:)
Navigation::addItem('/course/demo', $demonav);
Navigation::addItem('/course/demo/test1', $test1nav);
Navigation::addItem('/course/demo/test2', $test2nav);

Um den Link "Meine Veranstaltungen" von der Startseite zu entfernen:

(:source lang=php:)
Navigation::removeItem('/start/my_courses');

Um den Punkt "Hochladen des persönlichen Bildes" auf eine eigene Seite umzuleiten:

(:source lang=php:)
$navigation = Navigation::getItem('/homepage/bild');
$navigation->setURL(PluginEngine::getURL($plugin));

Aktivierung der Navigation

Der auf der jeweils aktuellen Stud.IP-Seite "aktive" Navigationspunkt muß markiert werden, damit die korrekte Reiternavigation ausgwählt und dieser Punkt dort entsprechend hervorgehoben werden kann. Die "alte" Methode, die globale Variable $reiter_view zu setzen, funktioniert nun nicht mehr. Stattdessen muß man einen Navigationspunkt explizit aktivieren:

(:source lang=php:)
Navigation::activateItem('/course/demo/test1');

Alternativ kann man auch statt der Klasse Navigation die Klasse AutoNavigation verwenden, die einen Navigationspunkt automatisch als aktiviert meldet, wenn die URL der aktuellen Seite der URL der Navigation entspricht und alle im Navigationsobjekt gesetzten URL-Parameter auch im aktuellen Request vorhanden sind und dort den gleichen Wert haben. Im oben beschriebenen Beispiel sähe das dann so aus:

(:source lang=php:)
$demonav = new Navigation('Demo', 'demo.php');
$test1nav = new AutoNavigation('Test 1', 'demo.php', array('test' => 1);
$test2nav = new AutoNavigation('Test 2', 'demo.php', array('test' => 2);

[...]

Globale Navigationsstruktur

Die globale Struktur der Navigation sieht derzeit (es können sich noch Änderungen ergeben) so aus:

  /                   Wurzelknoten der Navigation
      start           persönliche Startseite
          my_courses  Meine Veranstaltungen
          homepage    persönliche Homepage
          …           …
      browse          Veranstaltungen und Einrichtungen
          …           …
      course          gewählte Veranstaltung / Einrichtung
          forum       Forum
          files       Dateibereich
          …           …
      messaging       systeminterne Nachrichten
          calendar    Terminkalender
          timetable   Stundenplan
          …           …
      chat            Stud.IP Chat
      online          Wer ist online?
      homepage        Homepage und Einstellungen
          alle        persönliche Homepage
          bild        Hochladen des persönlichen Bildes
          …           …
      calendar        Termine und Stundenplan
      admin           Administrationsbereich
          …           …
      links           Link-Liste oben rechts
          search      Suche
          logout      Logout
          …           …
      login           Menü auf der Login-Seite
          login       Login
          register    Registrieren
          …           …

Anmerkung: Die Punkte "course", "links" und "login" haben kein Symbol in der Top-Navigation.

 

 

Source: Basis-Wiki-Hilfe | Last change: April 01, 2011, at 11:46 PM, tthelen | Local view: Basis-Hilfe