08.12.2012 Aufrufe

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Abbildung 51: Modellierung des PVS-Seiten-Layout (vereinfacht)<br />

Die Sidebar und und die NavigationBar sind feste Bestandteile des PVS-Layouts. In<br />

der Sidebar wird, je nachdem, ob der Benutzer aus- oder eingeloggt ist, ein Login-<br />

Formular oder ein Link zum Ausloggen angezeigt. Die NavigationBar enthält Links zur<br />

Durchführung der zentralen Anwendungsfälle im PVS. Die dritte Komponente der<br />

«presentationPage», ein «presentationAlternatives»-Element, dient zur<br />

Anzeige des Hauptinhalts der Seite, d.h. hier wird immer die 'aktuelle' Präsentationsgruppe<br />

angezeigt, d.h. die Gruppe, die mit dem gerade aktivierten Navigationsknoten verknüpft ist.<br />

In Rails existiert ein ähnliches Konstrukt für die Definition eines Seiten-Layouts. Hierbei<br />

handelt es sich um ein übergeordnetes Template, das einerseits fixe Layout-Komponenten<br />

enthält, und in das andererseits immer dasjenige Template dynamisch integriert wird, das die<br />

aktuell aufgerufene Controller-Action als Antwort auf die Client-Anfrage bestimmt hat. Der<br />

folgende Code-Ausschnitt zeigt das -Element des PVS-Layout-Templates. (Die Tags<br />

in Zeile 3, 6 und 8 sind sogenannte Einbettungs-Tags, die Ruby-Code enthalten.<br />

Beim Rendern des Templates wird der Code ausgewertet und das Ergebnis [vom Typ String]<br />

in die HTML-Seite eingefügt.)<br />

1 <br />

2 <br />

3 "/layouts/user_options")<br />

4 <br />

5 <br />

6 "/layouts/nav_bar") %><br />

7 <br />

8 <br />

9 <br />

10 <br />

11 <br />

Der yield – Befehl in Zeile 8 weist die Rendering-Engine an, das vom Controller<br />

festgelegte Template an genau diese Stelle im Layout-Template einzufügen. Der Code für das<br />

Navigationsmenü und die Seitenleiste ist nicht direkt im Layout-Template zu finden.<br />

87

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!