Tag: xhtml

XHTML (Extensible Hypertext Markup Language)

Die Extensible Hypertext Markup Language (Abkürzung: XHTML) löst als Standard des W3C HTML als Textauszeichnungssprache für Webseiten im World Wide Web ab. Im Gegensatz zu seinem Vorläufer HTML, welcher mittels SGML definiert wurde, verwendet XHTML die stren-gere und einfacher zu parsende SGML-Teilmenge XML als Sprachgrundlage. XHTML-Dokumente entsprechen also den Syntaxregeln von XML.

Doctype

Zu einem vollständigen HTML-Dokument gehört eine so genannte Dokumenttyp-Deklaration, englisch Document Type Declaration bzw. Doctype Declaration. Darin wird auf eine Docu-ment Type Definition (DTD) verwiesen. Sie gibt an, nach welcher (X)HTML-Version das Do-kument erstellt wurde, und legt somit fest, welche HTML-Elemente und Attribute in dem Dokument vorkommen dürfen. Ohne diese Angabe ist ein HTML-Dokument unvollständig und daher nicht „valide“.

XHTML-Designvorlage der Print-Version

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="de">

<head>
<title>nordEnergie AG</title>
</head>

<body>
<!-- ###DOCUMENT_BODY### begin The content between these subpart markers goes right into the body section of the ## webpage when displayed: -->
<img src="fileadmin/template/img/logo_ne.gif" alt="" border="" />
<hr />
<div id="content"><!-- ###content### --> <!-- ###content### --></div>
<hr />
<div id="footer">&copy; nordEnergie AG 2005&nbsp;www.nordEnergieAG.de</div>
<!-- ###DOCUMENT_BODY### end>
</body>

</html>

XHTML-Designvorlage der TYPO3 Präsenz


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="de">

<head>
<title>nordEnergie AG</title>
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="css/ne_01.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div><a name="nach_oben"></a></div>
<div class="border_top"></div>

<div class="border_middle"> <!-- ANFANG border_middle -->


<!-- ANFANG Head -->
<div id="head">

<div id="head-logo"><img src="img/logo_ne.gif" alt="Logo nordEnergie" /></div>
<div id="head-slogan">Energie und Meer</div>
<div id="metanavi"> </div>

</div>
<!-- ENDE Head -->

<!-- ANFANG main -->
<div id="main">

<div id="main_top">
<div class="lightblue_top_container"> </div>
<div class="lightblue_top_border">Wir machen Bremerhaven zur
Solarstadt des Nordens. Machen sie mit, profitieren sie mit!
</div>
</div>

<!-- ANFANG container_navigation -->
<div id="container_navigation">
<div id="mainnavi"> </div>
</div>
<!-- ENDE container_navigation -->

<!-- ANFANG container_content -->
<div id="container_content">

<div id="headerimage"> </div>

<div id="main_content">
<div id="locator"> </div>
<div id="hr"> </div>
<div id="content"> </div>
</div>
</div>
<!-- ENDE container_content -->

<div id="main_bottom">
<div class="lightblue_bottom_container"> </div>
<div class="lightblue_bottom_border"> </div>
</div>


</div>
<!-- ENDE main -->

<div class="footer"> </div>

</div>
<!-- ENDE border_middle -->

<div class="border_bottom"></div>

</body>
</html>

Einpflegen der Inhalte in TYPO3

Für die Gestaltung der Inhalte existieren in TYPO3 bereits in der Standardinstallation umfangreiche Möglichkeiten. Aus verschiedenen Seiteninhaltstypen kann gewählt werden. Dazu gehören bspw. reine Textfelder, Texte mit einer frei wählbaren Anzahl von Bildern (samt Positionierung), Formulare, Tabellen, Auflistungen oder multimediale Inhalte . Durch die Extension „CSS styled Content“, welche die Inhaltselemente mit CSS-Formatierung verknüpft, wird dem Administrator die Möglichkeit gegeben alle Module nach eigenen Ansprüchen übergreifend und konsistent zu gestalten.

Das Einfügen neuer Inhaltstypen ist leicht und schnell erledigt. Ein spezielles TYPO3-Modul steht dafür zur Verfügung, welches wie ein Assistent funktioniert und von dem bearbeiten-den Redakteur alle notwendigen Daten abfragt. Es können beliebig viele, unterschiedliche Module für eine Seite festgelegt werden. Die Reihenfolge der Inhaltsobjekte kann auch im Nachhinein verändert und verschoben werden.

Jedes Seitenelement kann mit einer Überschrift versehen werden, die den im Style Sheet definiertem Aussehen entspricht. Nach diesem Prinzip funktioniert die gesamte Textformatierung in TYPO3. Des Weiteren stehen für den Inhaltstyp allgemeine Optionen zur Verfügung, die es z.B. ermöglichen das Element zu verstecken, einen Veröffentlichungstermin oder –zeitraum festzulegen und die Seite nur ausgewählten Benutzern bzw. Benutzergruppen zugänglich zu machen . Besonders komfortabel ist das Editieren von Texten unter Verwendung des Internet Explorers, da TYPO3 für diesen Browser standardmäßig einen „Rich Text Editor“ (kurz RTE) anbietet. Mit Hilfe dieses Editors kann der Redakteur in Anlehnung an die Bedienungsweisen einer Textverarbeitung wie z.B. „Word“ den Content erstellen, gliedern und formatieren. Durch diese praktische Funktionalität sind keine Vorkenntnisse von HTML o.ä. notwendig, um die Seiten zu warten.

Für das Einpflegen von Inhalten können in TYPO3 verschiedene Rollen vergeben werden. Für Mitarbeiter mit unterschiedlichen Kompetenzbereichen können Benutzer mit dementsprechend konfigurierten Zugriffs- und Schreibrechten eingerichtet werden, so dass ein Mitarbeiter ausschließlich in seinem Bereich tätig sein kann. Die übrigen Seitenteile sowie administrativen Funktionen werden für ihn dann komplett ausgeblendet. Die ihm zugeordneten Bereiche sind frei skalierbar. Ebenfalls können Restriktionen festgelegt werden, was das Anlegen und Weiterverarbeiten von neuen oder bestehenden Seiten belangt. Ein Benutzer kann dann bspw. eine Seite zwar verändern, jedoch nicht löschen oder neue hinzufügen. Dadurch ist optimal gewährleistet, dass der zukünftige Redakteur nicht überfordert, sondern ein auf ihn speziell abgestimmtes und passendes Angebot zusammengestellt wird. Des Weiteren ist eine intuitive Bearbeitung der Inhalte durch das sogenannte „Frontend-Editing“ möglich. Dieser Begriff beschreibt die Funktionalität, dass ein Redakteur direkt in dem Internetauftritt Änderungen an den Inhalten vornehmen kann ohne über das Backend zu agieren. Veränderbare Bereiche werden durch ein nebenste-hendes Stift-Symbol angezeigt. Durch die Auswahl dieser Edit-Funktion wird in den Bearbeitungsmodus gewechselt, der dem Redakteur bereits bekannt ist.

Da während der Bearbeitung der Diplomarbeit noch keine vollständigen Texte für die Inter-netseite bereitgestellt werden konnten, wurde der textuelle Bereich mit Blindtext zur besseren Veranschaulichung aufgefüllt und die sonstigen contentrelevanten Elemente prototypisch angelegt. Bis zum Launch der Internetpräsenz sind die Inhalte durch die Firma selbstverständlich zu ergänzen.

Erstellen der Designvorlage

Als Designvorlage kann eine normale HTML- bzw. XHTML-Seite dienen. TYPO3 verwendet dann diese ohne spezielle Präparationen versehene Vorlage, um nach ihrer Gestaltung die kompletten Seiten für das Frontend dynamisch zu generieren. Das manuelle Erstellen von Webseiten wird dadurch überflüssig und komplett durch das System abgewickelt. Dabei werden zuvor definierte Bereiche in der Vorlage mit Inhalten aus den Zellen der zu Grunde liegenden Datenbank passend ersetzt.

Als Format für die Vorlagendatei wird XHTML gewählt. Außerdem soll der Aufbau des Layouts komplett tabellenlos durch Einsatz von entsprechenden CSS-Definitionen angelegt werden.

Der exakte Doctype der Seiten wird „XHTML 1.0 Strict“ lauten, wobei es sich um eine offi-zielle Empfehlung des W3-Konsortiums handelt, die nach und nach den letzten veröffentlichten HTML 4.01-Standard ersetzen wird. XHTML ist XML-kompatibel und wurde im Januar 2000 definiert. Der Hintergedanke bei XHTML ist, dass durch Standardisierung eine medienneutrale Beschreibung von Dokumenten ermöglicht wird. So könnten XML-basierende Formate bspw. für das Web, für den Printbereich oder für mobile Endgeräte verwendet werden. Der Inhalt ist im Idealfall unabhängig vom Ausgabemedium.

Außerdem sind in XHTML definierte Internetseiten schlanker, werden schneller geladen, strukturell flexibler änderbar und bedeuten einen großen Schritt in Richtung barrierefreies Internet. Zusätzlich unterstützt werden diese Vorteile durch den Einsatz von Cascading Style Sheets und den Verzicht auf HTML-Tabellen als Mittel zur Definition des Layouts. Tabellen sind in ihrem Ursprung nicht für die Nutzung als Gestaltungsraster ausgelegt gewesen, um Internetseiten eine Struktur zu verleihen, sondern sollen als Hilfsmittel zur geordneten Darstellung von Textinformation eingesetzt werden. Die Verwendung als Gestaltungsmittel vermischt das Layout mit den Inhalten und vergrößert die Dateigröße der Seiten unnötig. Bei jedem Seitenaufruf müssen die Layoutinformationen neu geladen werden. Dies strapaziert die Bandbreite und erhöht die Ladezeiten. Ein Style Sheet mit den Angaben zum Aufbau wird lediglich einmal in den Browsercache zwischengespeichert und dann von dort aus geladen. Das reduziert das Datenvolumen merklich und führt langfristig betrachtet zu geringeren Kosten für das Webhosting. Das Einhalten moderner Webstandards bringt also, wie aus dieser Kurzbetrachtung hervorgeht, eine Vielzahl an Vorteilen mit sich.

Da das Stichwort Barrierefreiheit gefallen ist, soll in wenigen Worten der Hintergrund geklärt werden. Mit Barrierefreiheit wird der ungehinderte Zugang zu Informationen im World Wide Web besonders für körperlich eingeschränkte Internetuser bezeichnet. Im Bundesbehindertengleichstellungsgesetz (BGG) ist der exakte Begriff definiert, wobei hier der Paragraf 11 „Barrierefreie Informationstechnik“ besonders interessant ist. Die genauen Richtlinien sind in Deutschland in der „Barrierefreie Informationstechnik-Verordnung (BITV)“ festgelegt. Öffentliche Einrichtungen müssen bis spätestens Ende 2005 durch die „Verordnung zur Schaffung barrierefreier Informationstechnik nach dem BBG“ ihr Informationsangebot problemlos barrierefrei nutzbar machen. Durch die für die nordEnergie-Präsenz getroffenen technologischen Entscheidungen ist der Auftritt aus rein technischer Sicht für die Barrierefreiheit bereits optimal vorbereitet und entspricht modernsten Standards.

Der komplette Quellcode der für TYPO3 umgesetzten XHTML-Designvorlage samt Style Sheet kann im Anhang eingesehen werden. Das entwickelte Design- und Layoutkonzept wird übereinstimmend durch diese beiden Elemente abgebildet. Die Meta-Tags zur Suchmaschinen-Optimierung sind zu diesem Zeitpunkt uninteressant und werden nach späterer Definition eigenständig durch das CMS hinzugefügt.

Einrichten einer Printversion

Das Bereitstellen einer Printversion der jeweiligen Seite kann von TYPO3 durch ein richtig konfiguriertes Plug-In standardmäßig übernommen werden. Dieses Plug-In muss dem Template als statische Template bekannt gemacht werden. Erstmalig ist der Gebrauch von Konstanten von Nöten. Neben der Printversion soll ein Hyperlink, der zum Seitenbeginn führt, eingefügt werden.

Constants:

plugin.alt.print.file.template = fileadmin/template/print_template.html
plugin.alt.print.file.stylesheet = fileadmin/template/css/ne_print.css

Per Konstantendeklaration werden die spezielle Printvorlage in XHTML mit dazugehörigem Style Sheet für die Printversion festgelegt. Es handelt sich hierbei um eine für das Ausdrucken optimierte Darstellungsweise. Die Dateien sind im Dateimanager hinterlegt.

Setup:

# Druckversion und "Nach Oben" â Link SETUP
temp.printversion = TEXT
temp.printversion.data = TSFE : id
temp.printversion.wrap = <a href="#nach_oben"><img src="fileadmin/template/img/
icon_top.gif" width="11" height="11"> nach oben</a>&nbsp;&nbsp;&nbsp;<a href="index.php?id=|&type=98"><img src="fileadmin/template/img/ icon_druckversion.gif" width="12" height="11"> Druckversion</a>

# Konfiguration der Print-Version
alt_print >
alt_print = PAGE
alt_print.typeNum=98
alt_print.stylesheet = {$plugin.alt.print.file.stylesheet}

alt_print.10 = TEMPLATE
alt_print.10 {
template = FILE
template.file = {$plugin.alt.print.file.template}

subparts {
content < styles.content.get
}
workOnSubpart = DOCUMENT_BODY
}

Die Erstellung des Hyperlinks für die Druckversion gestaltet sich einfach. Das Standard-TYPO3-Plug-In „plugin.alt.print (98)“ wird dem Main Template als statisches Template be-kannt gemacht. Die Variable „temp.printversion“ wird von Typ „TEXT“ deklariert und mit der Anweisung der nächsten Zeile die aktuelle Page-ID ermittelt. Der Verweis an den Anfang der Seite (ein simpler Link auf einen statischen Anchor-Tag in der Designvorlage) und der eigentliche Link zur Druckversion samt Icon werden formuliert und die Page-ID übergeben. Um nun die Ausgabe des Inhalts in das vorbereitete Print-Template zu übergeben, muss als Seitentyp „98“ für die Printversion angegeben werden. Den Rest erle-digt TYPO3 dann von selbst.

Die nachfolgende Konfiguration der Print-Version ist eine angepasste Version aus der TYPO3-Dokumentation für den Standardeinsatz des Print-Plug-Ins. Ein neues PAGE-Objekt wird erzeugt, dass die Darstellung der Druckversion übernehmen wird. Die Eigenschaft wird aus Übersichtlichkeitsgründen passend zum Seitentyp auf 98 gesetzt. Das Style Sheet aus der Konstantendeklaration wird wie die eigentliche Vorlage dem PAGE-Objekt zugewiesen. In den Subpart „content“, welcher in der Print-Vorlage klassisch definiert wurde, wird der Inhalt aus der Seite kopiert (content < styles.content.get). Außerdem wird durch die abschließende Zeile erreicht, dass nur der Teil innerhalb des Subparts „DOCUMENT_BODY“ in der Printvorlage für den Seitenaufbau benutzt wird. Jeder Seite der nordEnergie-Präsenz wird nun ein Link, der zum Seitenanfang zurückführt und ein Verweis zur Druckversion hinzugefügt.

Konfiguration des Template Auto-Parsers

Der Auto-Parser ist eine Extension, welche die XHTML-Designvorlage nach korrekter Konfiguration automatisch mit TYPO3-Markierungen zur Laufzeit versieht. So können vom Content Management System in die vorgesehenen Positionen, in diesem Fall durch „subparts“ markiert, die verschiedenartigen Inhalte dynamisch einfügt werden.

#Konfiguration des Auto-Parser fuer Haupt-Template:
plugin.tx_automaketemplate_pi1 {

  # Die Designvorlage wird eingelesen:
  content = FILE
  content.file = fileadmin/template/main_template.html

  # Hier werden die Elemente im der XHTML-Vorlage definiert
  # welche von subpart-Comments umgeben werden sollen:

  elements {
    BODY.all = 1
    BODY.all.subpartMarker = DOCUMENT_BODY

    HEAD.all = 1
    HEAD.all.subpartMarker = DOCUMENT_HEADER
    HEAD.rmTagSections = title

    DIV.all = 1
  }

  # Alle relativen Pfadangaben soll diese Prefix vorangestellt werden:
  relPathPrefix = fileadmin/template/
}

Zu Beginn ist es notwendig, die Designvorlage einzulesen (diese wurde zuvor samt Style Sheet über den Dateimanager an die angegebene Position gebracht). Hierfür wird die Variable „content“ mit dem FILE-Objekt belegt, damit eine Datei eingebunden werden kann . Anschließend erfolgt die Zuweisung der Designvorlage, die ab diesem Zeitpunkt dem System bekannt ist. Darauf folgend wird die Vorlage nach bestimmten Tags abgesucht und mit Subpart-Markern belegt. Zwischen dem öffnenden und schließenden Body-Tag der Vorlage soll der Subpart „DOCUMENT_BODY“ eingefügt werden. Analog dazu gilt dies für den Head-Tag. Außerdem wird der Title-Tag, welcher den Seitentitel beinhaltet, entfernt. Der Titel der jeweiligen Seite wird durch TYPO3 später dynamisch und passend ergänzt. Alle Div-Tags der Vorlage, an die ein Klassen- oder ID-Name vergeben wurde, werden ebenfalls mit gleichnamigen Subparts versehen. Durch diesen Umstand ist erreicht, dass jeder relevante Container des zu Grunde liegenden Layout über einen füllbaren Subpart-Marker verfügt, der durch dynamische Teile (Navigationen, Inhalte etc.) ergänzt werden kann . Die letzte Anweisung des Setups bewirkt, dass allen relativen Pfadangaben aus der Vorlage der Zusatz „fileadmin/template/“ vorangestellt wird. Dabei handelt es sich um das selbst gewählte Unterverzeichnis in dem alle Template-bezogenen Daten abgelegt sind. Es sind keine Pfadanpassungen in der Ausgangsvorlage nötig. TYPO3 kann diese Begebenheit vollkommen automatisch ohne weiteres Zutun des Users regeln.

Realisation

Die Umsetzung des Konzepts samt des erarbeiteten Design- und Layoutentwurfs stellt den finalen Schritt der Diplomarbeit dar. Das Content Management System TYPO3 muss zu diesem Zweck auf dem Server installiert und anschließend den Vorgaben entsprechend konfiguriert werden. Die Realisation des gesamten grafischen Entwurfs erfordert verschiedene, schrittweise abzuarbeitende Phasen bis das Befüllen mit den eigentlichen Inhalten beginnen kann. Das Testen unter verschiedenen Bedingungen (z.B. Darstellung in unterschiedlichen Browsern) hilft letzte Fehler auszumerzen. Als Abschluss dieses praktisch orientierten Kapitels steht das Bekanntmachen des Auftritts im World Wide Web durch Suchmaschinen-Optimierung an.