Mitschrift 13.05.2014
TAG 4Was machen wir heute?
- Wiederholung
- Menü steuern
- Typo3-System installieren (für Oma als Geschenk) - was können wir schon...
- Am Ende des Tages haben wir Basis 1,2 durchgearbeitet :)
Wiederholung:
- Xampp bietet uns die Möglichkeit die Umgebung für unser typo3 zu starten.
- browser: local/host/tag03/typo3
- Bis zu der Stelle von gestern, ist unser System schon 300/400€ wert :) - wir können schon was :)
- Typoskript haben wir gestern auf HOME eingestellt - damit können wir viel steuern.
- Wir wollten das HTML und CSS-Skript von einem anderen Designer einbinden
- eigenes Verzeichnis in htdocs>tag?> fileadmin> templates
- hier könnten wir die zip-Datei emerald2.zip speichern
- subpart sind Marker, die dann die Texte ersetzen - also hier soll der Text hin (wie ein Platzhalter)
- die index-html liefert das GRundgerüst in HTML mit diversen Containern
- wir können dann die vorgegebenen Textbereiche durch unsere Texte ersetzt werden.
- HTML ist das Grundgerüst
- CSS ist die Formatierung/ das Design - das haben wir im Tposkript eingebunden
- wir müssen also sagen, was wir aus index.html gebrauchen können. Dazu öffnen wir die index-Datei mit dem Notepad++ (wenn rote Zeilen im notepad++ angezeigt werden, heißt es, dass etwas doppelt ist
- wir müssen zunächst den umschließenden Subpart suchen (der Teil zwischen dem öffnenden und schließendem body-Tag
- diesen Bereich kennzeichnen wir mit <!-- DOCUMENT --> an den beiden genannten Stellen.
- page.10.workOnSubpart = DOCUMENT im Typoskript eingeben und speichern und im Frontend checken (Seitenquelltext anzeigen - die roten Doppelungen sind weg)
- ACHTUNG: Jetzt aber auf der Start-Seite ansehen! Auf der Home -Seite darf der Redakteur nichts eingeben
- Dann binden wir die CSS Styled Content über Template - Home - Info/Bearbeitern / Vollständigen Template-Datensatz bearbeiten - Reiter Enthält - CSS Styled Content css styled content (2200 Zeilen) - ohne das sehen wir keine Inhalte!
- Jetzt setzen wir Marker: styles.content.get (damit laden wir uns 2200 Zeichen Typoskript ein)
- Nun wollen wir unseren Text einsetzen. dazu suchen wir über den Firebug den gewünschten Bereich
- gehen ins Notepad, suchen die entsprechende Stelle, löschen den Inhalt aus dem Element und schreiben in die html-Datei an der Stelle ###CONTENT### (oder SIDEBAR oder oder oder, Hauptsache '### INGROSSBUCHSTABEN###' in den entsprechenden div-Container oder das entsprechende html-Element
- page.10.marks.CONTENT < styles.content.get
- page.10.marks.SIDEBAR < styles.content.getRight
- -> Woher weiß ich, wie das heißt?
- über: Template - Home - Template-Analyse - EXT:css_styled_content/static/ - Global...
- = Wir sagen, wo (in welchem Bereich) in der index.html Datei wir unseren Text platzieren wollen.
- Somit haben wir die Struktur des Designers übernommen mit den dazugehörigen CSS- Formatierungen
- -> HTML & CSS macht unsere Texte hübsch - wir stellen als Redakteure einfach ein.
- Wann schreibe ich styles.content.get, styles.content.getLeft, styles.content.getRight, styles.content.getBorder?
- hiermit (be-)schreibe ich, aus welcher Spalte meines Typoskriptes sich der Browser für die Ausgabe bedienen soll. Ich kann also über die Marker im html zuweisen, dass mein Text rechts im Browserefenster eines div-Containers gesetzt werden soll und dann den Content aus meiner linken Spalte einfügen über styles.content.getLeft - es ist möglich, aber sinnig ist das nicht - Sinnig wäre, die Inhalte, die rechts hinkommen sollen in der Ausgabe, auch in die rechte Spalte schreibe, content.getRight zuweise.
- ACHTUNG. Wenn wir was im HTML ändern, müssen wir die Caches löschen!
- Mögliche Fehler:
- OBJEKTE müssen immer groß geschrieben werden
Menüsteuerung
Mehrere Seiten anlegen
Funktionen - Home - Mehrere Seiten erzeugenKlick auf Seiten anlegen
Dann sind direkt mehrere Seiten angelegt
Startseite benennen (da Home ja nur für Einstellungen/ Konfigurationen ist)
Das machen wir mit Hilfe eines Verweises:Eigenschaften verändern über:
So kann ich alternativ Seiten anzeigen:
Home - Bearbeiten - Typ - Verweis
Verweismodus (Wo soll der User landen? erste Unterseite der aktuellen Seite) und Verweisziel
Zur Überprüfung:
Seite - Home - Blatt mit Auge und Tadaaaa - wir landen auf der nächsten Unterseite - der start-Seite :)
Menü erstellen
Wir sagen dem typoskript - bitte baue mir ein MenüUlli-Struktur - unordered List mit Listenelementen
<ul> <li></li> </ul>
Wir bauen diese Struktur mit Links auf
Ab ins Typoskript - template - home - info/bearbeiten - setup
Wir bekommen wir so eine Struktur/ Menü hin?
Die Erweiterung lagern wir vor - also vor page = PAGE
Die Erweiterungen nennt man Library (Begriff aus IT)
lib.menu = HMENU (Objekt: hierarchisches Menü - in Bezug auf die Baumstruktur und deren Reihenfolge - über- und untergeordnete Seiten in einer Hierarchie)
Eigenschaften vergeben:
lib.menu {
1
}
Ausklammerfunktion mit der geschweiften Klammer: { - Bitte darauf achten, dass man die Klammern in eigene Zeilen setzt und Einrückungen zur besseren Übersicht verwenden)
Hinweis: Unser Ausgangspunkt ist Home - daher ist die Sichtweise von Home aus eine Ebene tiefer zu sehen: Daher tragen wir die 1 für eine Ebene tiefer ein.
Unsere Menüpunkte bestehen aus Texten, nicht aus Grafiken, also:
1 = TMENU
jetzt beginnen wir mit dem Aufbau des Menüs - umschließend - also wrap:
lib.menu = HMENU
lib.menu {
1 = TMENU
1{
wrap = <ul> | </ul>
NO
{
}
Da wo das PIPe-Zeichen ist, kommen die Listenelemente hin.
NO steht für Normalzustand - so sieht sie standardmäßig aus (es gibt noch current & active)
-> Unterscheidung ist eine Klassenzuordnung
Ankertag in einer Li und das Word soll auch dargestellt werden:
Dafür gibt es einen speziellen wrap (NO.wrapItemAndSub), der das alles erkennt und kann :) Dieser ist intelligent und wird angewiesen die folgenden Schritte zu tätigen:
- Durchlaufe den gesamten Baum auf dieser Ebene
- schaue nach, welche Seiten es gibt
- für jede Seite lege mir einen Ankertag an (mit der zugehörigen ID)
- und schreibe mir das auf einen Namen
- Wenn ich auf den Namen klicke, dann zeige mir die Seite an
Wow - der kann aber viel!
Aber was macht er nicht? Das Li - müssen wir selber machen!
So - das ist die Angabe für unser Komplettes Menü:
lib.menu = HMENU
lib.menu {
1 = TMENU
1{
wrap = <ul> | </ul>
NO.wrapItemAndSub = <li> | </li>
}
}
-> der ist so schlau, dass er auch Untermenüpunkte erstellen kann.
Wie machen wir es jetzt sichtbar?
htdocs - tag03 - fileadmin - templates - index.html
über einen Marker in der html-Datei baue ich es später ins template rein.
Also einen Marker hinter <div id="menu"> (da steht derzeit eine UL drin)

und tragen dann noch ins Typoskript ein:
lib.menu = HMENU
lib.menu {
1 = TMENU
1{
wrap = <ul> | </ul>
NO.wrapItemAndSub = <li> | </li>
}
}
Das wrapItemAndSub ist selbst so schlau, dass es die Anzahl der Lis automatisch im HTML ergänzt.
lib.menu = HMENU
lib.menu {
1 = TMENU
1{
wrap = <ul> | </ul>
NO.wrapItemAndSub = <li> | </li>
}
}
page = PAGE
page.stylesheet = fileadmin/templates/style.css
page.10 = TEMPLATE
page.10.template = FILE
page.10.template.file = fileadmin/templates/index.html
page.10.workOnSubpart = DOCUMENT
page.10.marks.MENU < lib.menu
page.10.marks.CONTENT < styles.content.get
page.10.marks.SIDEBAR < styles.content.getRight
Wir haben es MENU genannt und dann kopieren wir einfach unsere definierte Library da rein.
Breite des Containers reicht nicht für die Anzeige des Menüpunktes "Impressum":
Dann wird uns das Menü angezeigt, aber für das Impressum ist kein Platz mehr - also die Breite des Menü-Divs vergrößern - width = 600px - das muss in Style.css verändert werden.
Lösung:
htdocs - tag03 - fileadmin - templates - style.css - edit with notepad - Zeile 171 :)
-> Änderung der width vornehmen, speichern, Cache in Typo3 löschen - speichern und anzeigen
Jetzt haben wir noch das alte Menü im html-Code drin - das ist HTML-Schrott -
falls wir es später nochmal brauchen einfach durch Kommentare ausklammern.

Tipp für Shortcuts im HTML: Ausklammern
auszuklammernden Bereich markieren und Steuerung + Shift + Q = Shortcut zum Ausklammern in HTML ;)
- Steuerung + Shift + K - Klammerung rausnehmen - auskommentieren.
Alle Caches im Typo3 löschen - im Firebug kontrollieren, ob es geklappt hat.
Weiterer Darstellungsfehler der Designvorlage
Hinweis: Wenn mir die Designvorlage Bilder mitgibt, muss ich im Nachgang in meiner index.php die Pfade aller Bilder anpassen!!!So - jetzt haben wir festgestellt, dass der Schatten des Kopfbereiches fehlt
htdocs - tag03 - index.php (dies ist meine von typo3 gesteuerte Startseite!
Der Pfad ist nicht korrekt - die index.php liegt nicht im fileadmin-Ordner unter templates, sondern im tag03 Ordner - also müssen wir den Pfad anpassen.
Auszug aus dem html-Text - Pfad zum Bild weiter angeben:
<li><a href="#">Contact</a></li>
</ul> -->
</div>
</div>
<div><img src="fileadmin/templates/images/img03.png" width="1000" height="40" alt="" /></div>
</div>
<!-- end #header -->
<div id="page">
<div id="content">
###CONTENT###
</div>
<!-- end #content -->
Übertragung von Datenbank (DatenbankDump) & Verzeichnis
oder Jetzt wollen wir die Seite an Oma schenken
Diese Darstellung liegt lokal auf unserem Server - Oma hat nen eigenen Server.
Wie können wir jetzt die Seite auf einen anderen Rechner übertragen?
Wir müssen Oma ein Paket mit allen nötigen Dateien und Verzeichnissen packen.
Was brauchen wir?
- Das Verzeichnis und
- die Datenbank - php my Admin
Datenbanken-Dump
Definition bei Wikipedialocalhost/ - Deutsche Umgebung auswählen Dann sind wir hier
tools - phpmyadmin = Synonym für Datenbanken!
Das ist das Backend unserer phpmyadmin-Seite
tag03 - ttcontent - anzeigen - dann sieht man unsere Seite in einer Tabelle abgelegt.
Wie komme ich wieder zurück in die Homeansicht des Backends?
Wie kann ich jetzt die Datenbank transportieren?
Einfach kopieren geht nicht, sondern man muss was generelleres erstellen - also
Datenbank auswählen (tag03 - klick auf Exportieren - SQL-Format - OK ) Datei Speichern
Dann haben wir tag03.sql auf unserem Rechner - Die Datei liegt in unserem Download-Bereich
Was steckt in der Datei? Mit Notepad öffnen - sie ist in SQL geschrieben (= strukturierte Abfragesprache mit Befehlen)
Rekonstruktion unserer Datenbank dürch aneinandergereihte SQL-Befehle, wie:
CREATE TABLE IF NOT EXISTS `backend_layout`
INSERT INTO `be_sessions` (`ses_id`, `ses_name`, `ses_...
Dies ist explizitier als die Kopie einer Datei, da portierbar, versionsunabhängig & menschenlesbar
Was machen wir mit der Programmumgebung - dem Verzeichnis?
Source+ Dummy können wir nicht nehmen - da wir verändert haben .
Also rechter Mausklick auf mein verzeichnis tag03 - Senden an - Zip-komprimierter Ordner
-> dann habe ich wie die Source+Dummy-zip-Datei eine Verzeichniskopie von meiner Seite erstellt.
Der Zip-Ordner liegt jetz in meinem htdocs-Ordner, wie auch mein tag03-Ordner
Also packen wir unser Päckchen:
Jetzt legen wir alles in einen Ordner:
Dokumente - neuer Ordner - stick - neuer Unterordner - omas Geschenk - in diesen ordner packen wir die zip-Datei tag03.zip
Und nun noch die tag03.sql-Datei aus dem Download-Ordner ausschneiden und in den Geschenkeordner packen.
Installation der transportierten Datenbank
Zur Übung spielen wir nun diese Datenbank für uns neu ein und speichern es als tag04 :)- neuen Ornder in htdocs: omasgeschenk
- jetzt die zip-Datei aus dem Ordner stick - omas Geschenk in den neuen Ordner omasgeschenk in htdocs ziehen
- Oma braucht aber einen Xampp
- Ach ja und die php.ini-Datei! Die muss noch ins php-Verzeichnis
Wir müssen sie über phpmyAdmin importieren!
Wir müssen eine neue Datenbank anlegen - also phpmyadmin - Startseite -- Datenbanken - manuell auf dem Localhost - datenbanken anlegen (hat sonst dummypaket gemacht) - omasgeschenk
Jetzt haben wir eine leere Datenbank, in die wir unsere Datenbank (sql-Datei importioeren müssen.)
Also nun auf omasgeschenk in der linken Menüleiste klicken, dann importieren, dann durchsuchen - die sql-Datei vom Stick auswählen und ok drücken
![]() |
Importieren der geschenkten sql-Datenbank |
Wir sind noch nicht fertig - Datenbank korigieren in den Basic Configuration
Eine installation in der Basic Configuration sagt mir, wozu diese Datenbank gehört
Database - muss omageschenk heißen
Also in den Browser - localhost/omasgeschenk/typo3/install eingeben
Dann ENABLE_INSTALL_TOOL Datei in den typo3conf-Ordner in htdocs eingeben
Wir sind am Tor der Installation: Nun wählen wir die Basic Installation an
Wählen die Database omasgeschenk aus
Ändern den site name und
klicken auf Update Configuration
Jetzt müssen wir noch die php.ini in C - xampp - php - php.ini ersetzen (durch die, die wir vom Dozenten bekommen haben)
FERTIG :)
Zum Nachlesen:
- Buch ab Seite 571: Backup mit phpMyAdmin
- Tutorial: backup1.pdf - Wie kann ich Systeme mitnehmen, installieren und konfigurieren
Keine Kommentare:
Kommentar veröffentlichen