9000e.com  

9000e.com - Agentur für Neue Medien - Webdesign aus Berlin, Webdesign-Agentur, e-Business und e-Commerce, Content Management Systeme Web-Design Web-Hosting. Internetauftritt Online-Shop Online-Marketing CMS, Webdesign Agentur Homepageerstellung

Webdesign Berlin 9000e.com aus Berlin Friedrichshain web design Berlin Agentur

Webdesign Berlin - 9000e.com - Agentur für Neue Medien Internet-Agentur




Sample   Sampling-Frequenz   Sampling-Rate   SATAN   SCSI   SDK   SDRAM   Serieller Anschluß   Serielle Datenübertragung   Server   Servlet   SET (Secure Electronic Transfer)   SFM (Services for Macintosh)   SGML (Structured Generalized Markup Language)   Share   Shareware   SHTTP (Secure Hypertext Transfer Protocol)   Simplex   Slash   Sliding-Window-Protocol   SLIP   SMB (Server Message Block-Protokoll)   SMDS (Switched Multimegabit Data Service)   Smileys   S/MIME (Secure Multipurpose Internet Massage Extensions)   SMNP (Simple Network Management Protocol)   SMP (Symmetric MultiProcessing)   SMS (Short Message Service)   SMTP (Simple Mail Transfer Protocol)   SNA (Systems Network Architecture)   Snail-Mail   Sniffer   Sniffing   SNMP (Simple Network Management Protocol)   S0   Software-Handshake   SOHO (Small Office/Home Office)   Solution-Provider   Soundkarte   Source   Spam/Spamming   Spider   Spoofing   Spooling   SPX (Sequenced Packet Exchange Protocol)   SQL (Structured Query Language)   SSI (Server-Side Includes)   SSL (Secure Socket Layer)   Stack   Standleitung   Startbit   STD   Steganographie   Stern-Topologie   Stopbit   Streaming   Stripper-Programm   Style-Sheets   Sub-Domain   Subject   Subnet   Subscription   Suchmaschine   Suchstring   Switch   Symmetrische Verschlüsselung   Synchrone Verbindung   Synthesizer   Systemplatine   SysOp (Systemoperator)



Objektorientiertes Webdesign
Erstellt man auf diese Weise eine komplexe Website, endet man schnell mit einem Konglomerat aus Code und Layout, in dem die Applikationsfunktionen auf viele einzelne Dateien verteilt sind, die wahrscheinlich viel redundanten Code enthalten. Um größere Projekte erfolgreich erstellen und warten zu können, ist deshalb auf der einen Seite eine Trennung von Layout und Code nötig und auf der anderen eine Aufteilung in Komponenten, um Wiederholungen zu vermeiden.

Auf typischen Webseiten lassen sich meist recht einfach verschiedene Bereiche identifizieren, die sich für eine Zerlegung in Komponenten eignen: Elemente wie Kopf, Fuß und Navigation müssen oft auf jeder Seite vorhanden sein. Der einfachste Ansatz wäre, sie jeweils in eigene Dateien auszulagern und diese mit ‘Include’ in jede Seite einzubinden. Die eigentlichen Seiten enthalten nur noch den für sie spezifischen Teil.

Dieses Vorgehen bringt jedoch Schwierigkeiten mit sich, wenn eine neue Komponente einzufügen oder die Reihenfolge vorhandener Teile zu ändern ist. In diesen Fällen muss man wieder alle Dateien der Site anpacken, und auch beim Erstellen neuer Seiten ist Vorsicht geboten, um keine Komponenten zu vergessen.

Alle Seiten sind in vier Bereiche eingeteilt (Abbildung 1): Kopf, Navigation, Inhaltsbereich und Fuß. Statt jedoch jedes Mal diese Elemente einzufügen, gibt es eine Basisvorlage, die Embperl::Object vor der angeforderten Seite aufruft. Im Beispiel heißt diese Basisvorlage base.epl, ihr Name ist in httpd.conf konfigurierbar.

Die Seite beschreibt in einfachem HTML das Basislayout und enthält Perlcode-Fragmente, die von [- und -] eingeschlossen sind. In diesem Fall handelt es sich lediglich um Aufrufe der Execute-Funktion, die Embperl zur Verfügung stellt. Verlangt ein Anwender zum Beispiel die Seite index.epl, führt Embperl::Object zuerst base.epl aus. Dieses bindet mit Execute die Dateien header.epl, menuleft.epl und footer.epl ein. Das Besondere ist Execute(‘*’), was die ursprünglich angeforderte Datei lädt, hier also index.epl. Bei diesem Vorgehen braucht man nur noch die Dateien zu erstellen, die den eigentlichen Inhalt der Seiten ausmachen; der Rest kommt bei ihrem Aufruf automatisch hinzu.

Dadurch ist der Inhalt komplett vom allgemeinen Layout getrennt, wodurch es einerseits nicht mehr nötig ist, bei der Erstellung neuer Seiten wiederholende Elemente einzufügen und andererseits eine Änderung des Rahmenlayouts keinerlei Änderungen an den Inhaltsseiten nach sich zieht. Verwendet man für Gestaltung und Aussehen Cascading Style Sheets (in der Basisvorlage definiert oder eingebunden), kann man eine weitgehende Trennung von Inhalt und Layout erzielen.

Nun sind jedoch nicht immer alle Seiten gleich aufgebaut. In der Embperl-Website etwa besteht der Inhaltsbereich auf der Startseite aus zwei Teilen: links Kurzbeschreibung und rechts Newsteil. Bei der Dokumentation jedoch füllt das eigentliche Dokument diesen Bereich ganz aus. Für die Startseite könnte man noch ein Execute(‘news.epl’) hinzufügen, um die zusätzliche Spalte anzuzeigen. Das führt jedoch zu Schwierigkeiten dort, wo kein news.epl vorhanden ist. Statt diese Sonderfälle mit Bedingungen in der Basisvorlage abzuhandeln, bietet es sich an, Execute(‘*’) durch Execute(‘content.epl’) zu ersetzen. content.epl sieht vereinfacht folgendermaßen aus:








9000e.com - Webdesign Agentur für Neue Medien
Simon-Dach-Strasse 12 - 10245 Berlin  
Tel.: +49 [0]30 547 19 231 - Fax: +49 [0]30 547 19 232
E-Mail:
info@9000e.com