Warning: include_once(/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php): failed to open stream: No such file or directory in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: include_once(): Failed opening '/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php' for inclusion (include_path='.:/opt/php/lib/php') in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp09/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2009 - Gruppe 1 - Web-VIEW

View

Layouts

Wie in Rails üblich, nutzen wir zur Formatierung der gesamten Website Layout-Dateien, die eRuby-Templatecode enthalten (~.html.erb). In diese Vorlagen werden dann je nach Kontext die entsprechenden Views eingebunden. Dies geschieht über das Tag '<%= yield %>'. Dabei gibt es eine Hierarchie von Layouts: Für alle Views, die es nicht anders spezifizieren, wird das Application-Layout benutzt. Pro Controller kann jedoch angegeben werden, welches Layout benutzt werden soll. So haben wir für den UserSessionController ein eigenes Layout definiert, da man beispielsweise beim Einloggen noch kein (nicht funktionierendes) Menü sehen möchte.

Abb. 1: Einbindung von Ruby-Templates mit Layouts in Rails

Status

In der Statusbar am oberen Rand der Seite findet man diverse informationen zu dem aktuellen Planeten. Von links nach rechts: das Icon des Planeten, ein Dropdown, unter dem man alle Planeten des Users finden kann, die Größe des Planeten und zuletzt die Rohstoffe.

Menü

In dem Menü-Kontainer am linken Seitenrand findet man die Navigation durch die einzelnen bereiche des MMOG's. Hierbei handelt es sich um eine Liste von Links, die die entsprechenden controller und actions aufrufen. Implementiert haben wir sie vor dem <%= yield %> im Application-Layout. Ausser dem Link hat jeder Menüpunkt noch ein Icon (zur leichteren Erkennung durch den User), sowie CSS-Tags zur Formatierung.

<li <%if(@current_page == :main) %> id="active"<%end%> >
	<img src="/images/home_web.png " title="Home" alt="Home"/>
	<%= link_to "Übersicht", :controller => "web_overview"%>
</li>

Infobar

Über die Infobar wird der User jederzeit über die aktuellen Geschehnisse (Gebäudebau, Schiffsbau und Flottenbewegungen) seines Accounts auf dem Laufenden gehalten. Hier haben wir eine Kombination aus reinem JavaScript und Ajax implementiert. Die einzelnen Infos sind Kombinationen aus Strings und einem JavaScript-generierten Countdown, die gesamte Infobar wiederum wird alle 10 Sekunden durch Ajax neu geladen.


Page last modified on August 24, 2009, at 10:39 AM