DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Author:Harald Atteneder
Created:2008-04-07T08:45:08
Changed by:Harald Atteneder
Changed:2008-04-07T11:34:19
Info 1:
Info 2:
Info 3:
Info 4:

Von der Idee zur Site

TYPO3

Harald Atteneder

5AHDVM 2007/2008

TYPO3 – Von der Idee zur Site

Voraussetzungen

Entweder man bedient sich eines TYPO3-Webhosters oder man installiert TYPO3 samt vorausgesetzter Software selbst auf einem Server.

TYPO3-Webhoster:

  • mittwald.de
  • jweiland.de

Vorausgesetzte Software:

  • Web-Server (z.B. Apache)
  • Datenbank (z.B. MySQL, Oracle)
  • PHP
  • Imagemagick

Installation

Nach erfolgreichem Erstellen einer Datenbank werden TYPO3-Source und das Dummy-Package entpackt und in das Document-Root-Verzeichnis des Web-Server kopiert. Es empfiehlt sich, den Ordnernamen des Dummy- Package in den Namen der Homepage zu ändern (in unserem Beispiel typo3demo). Anschließend ruft man das Install-Tool im Webbrowser mit der Adresse http://localhost/typo3demo/install auf.

img-1 Abbildung 1: Install-Tool

Nach Eingabe der Datenbankverbindung, Benutzername und Passwort kann man noch die genaue Konfiguration der TYPO3-Installation.

U.A. können folgende Einstellungen angepasst oder kontrolliert werden:

  • Datenbankverbindung
  • Installation und Verfügbarkeit von Imagemagick
  • TrueType-Darstellung
  • GDLib
  • Lese- und Schreibrechte von Ordnern
  • Admin-Benutzer für das Backend erstellen
  • Passwort für das Install-Tool ändern
  • ...

Erstellen eines HTML-Template

Die Aufgabe des Designer ist es, ein funktionierendes HTML-Template zu erstellen mit definierten Bereichen (am besten in div-Tags) für den dynamischen Inhalt der Hompage. Klassische Bereiche sind das Menü und der Hauptinhalt der Seite.

img-2 Abbildung 2: Das HTML-Template

In diesem Beispiel

  • <div class=“ menu “>

    Bereich für das Menü

  • <div class=“ content “>

    Bereich für den Hauptinhalt der Seite

Erzeugen von Seiten und Inhalt

Jede Seite im Pagetree wird später als Menüeintrag dargestellt. Der Seiteninhalt wird für die jeweilige Seite im div-Tag mit der Klasse content angezeigt. Eine Seite wird erzeugt, indem man im Page-Modul auf ein Icon des Pagetrees klickt. Im erscheinenden Kontext-Menü wählt man den Eintrag „New“. Ein Wizard begleitet beim Erstellen der Seite. Nun kann in jeder Seite auch schon Seiteninhalt erstellt werden.

Erstellen eines TYPOSCRIPT-Templates

Nach erfolgreiches Installation von TYPO3 meldet man sich das erste mal im Backend ein. http://localhost/typo3demo

img-3 Abbildung 3: Login im Backend

img-4 Abbildung 4: Das Backend

Als erstes muss das HTML-Template in den fileadmin-Ordner von TYPO3 geladen werden, damit das TYPOSCRIPT-Template damit arbeiten kann. Darum legen wir als erstes einen Ordner unter fileadmin an und uploaden alle Dateien des HTML-Templates.

img-5 Abbildung 5: Das HTML-Template in TYPO3

Nun muss das TYPOSCRIPT-Template erstellt und bearbeitet werden.

Erstellt wird das Template im Template-Modul. Nach dem Klick auf den Button „Create template for a new site“ kann man dieses auch schon bearbeiten.

Im Setup-Feld des Templates wird nun folgender TYPOSCRIPT-Code geschrieben:

# Auto-Parser-Konfiguration:

plugin {

tx_automaketemplate_pi1 {

# Auslesen des HTML-Template:

content = FILE

content.file = fileadmin/template/template.html

# Hier wird definiert, welche Teil des HTMLs markiert werden

elements {

# um den body-Tag

BODY.all = 1

BODY.all.subpartMarker = DOCUMENT_BODY

# um den head-Tag

HEAD.all = 1

HEAD.all.subpartMarker = DOCUMENT_HEADER

HEAD.rmTagSections = title

# um den ol-tag mit id=“menu“

OL.id.menu = 1

OL.id.menu.subpartMarker = NAVIGATION

# um das div mit class=“content“

DIV.class.content = 1

DIV.class.content.subpartMarker = CONTENT

}

# Pfade mit richtigen Präfix einrichten, wichtig beim Einbinden von CSS oder Grafiken:

relPathPrefix = fileadmin/template/

}

}

temp.menu_1 = HMENU

temp.menu_1.1 = TMENU

temp.menu_1.1 {

# Standardmäßiges Menü-Listenelement

NO.allWrap = <li class="menu-no"> | </li>

NO.stdWrap.htmlSpecialChars = 1

# Aktives Menü-Listenelement

ACT = 1

ACT.allWrap = <li class="menu-act"> | </li>

ACT.stdWrap.htmlSpecialChars = 1

}

temp.mainTemplate = TEMPLATE

temp.mainTemplate {

template =< plugin.tx_automaketemplate_pi1

workOnSubpart = DOCUMENT_BODY

subparts.NAVIGATION < temp.menu_1

subparts.CONTENT < styles.content.get

}

temp.headTemplate = TEMPLATE

temp.headTemplate {

template =< plugin.tx_automaketemplate_pi1

workOnSubpart = DOCUMENT_HEADER

}

page = PAGE

page {

typeNum = 0

config.doctype = xhtml_trans

10 < temp.mainTemplate

headerData.10 < temp.headTemplate

}

Installation der Extensions

Das obige TYPOSCRIPT-Template wird noch nicht funktionieren, da die Extension „automaketemplate“ noch nicht installiert ist, welche sich um das Parsen und Ersetzen von Textpassagen kümmert.

Dazu benützt man das Ext-Manager-Modul und wählt in der DropDown-Liste „Import extensions“. Mit dem Klick auf den „Durchsuchen...“-Button wählt man das zuvor von www.typo3.org/extensions heruntergeladene t3x-File „automaketemplate“. Der Button „Upload extension file“ bringt uns zum nächsten Schritt, dem Installieren der Extension und dem darauffolgenden Updaten der Datenbank.

Nun muss man nur mehr die Extensions in das TYPOSCRIPT-Template einbinden. Das wird durch folgenden Schritte bewerkstelligt:

  • Öffnen des TYPOSCRIPT-Templates
  • Unter „Include static (from extensions)“ das css_styled_content auswählen

img-6

Zur Sicherheit wird der Cache noch geleert und schon wird eine dynamische Homepage angezeigt.

img-7 Das Konzept

Es gibt 3 Rollen:

  • Designer

    entwickelt das Design und erstellt HTML-Template mit vorgesehenen Bereichen für dynamischen Inhalt

  • Entwickler

    kümmert sich um TYPO3-Installation, TYPOSCRIPT-Template und evtl. Extensionprogrammierung

  • Redakteur

    Erfasst laufend Beiträge und betreut die Website

Ablauf

Auftraggeber redet mit Designer über Grafisches und Inhaltliches

Designer redet mit dem Entwickler über Machbarkeit

Evtl. Neuverhandlung mit Kunden über nicht machbare Features

Entwickler schätzt Aufwand

Providersuche und Entscheidung, All-Inklusive Provider oder normaler Provider

Designer erstellt Design, markiert dynamische Inhalte mit DIVs

Entwickler ersetzt mittels AutoMakeTemplate DIVs mit dynamischen Inhalt

Entwickler installiert Extensions

Redakteur bindet Extensions als Content ein, erfasst Datensätze, laufende Betreuung der Website