Certified TYPO3 Integrator: Unterschied zwischen den Versionen
(→data) |
|||
| Zeile 222: | Zeile 222: | ||
parseData | parseData | ||
->verändern | ->verändern | ||
| + | |||
| + | === Weitere Tipps ==== | ||
| + | außer bei den Datentypen auch immer in den Functions der TSREF suchen | ||
Version vom 18. März 2010, 11:54 Uhr
Infos aus dem Kurs Certified Typo3 Integrator
17.3. und 18.3.2011 Kurs bezieht sich auf Version 4.2.x
Installation
Install Tool
- disabled
- Sicherheit (misc Verzeichnis mit superadmin, entwicklertools) besser löschen
- Verzeichnisse
- fileadmin -> für den Benutzer
- uploads -> sollte immer automatisch von typo3 bedient werden nie manuell
- Gefahren: Referenz Index zerstört, automatische umbenennungen
- Kern eins vor
- typo3conf
- extTables.php -> metadaten für formulardarstellung im be
- extension vezeichnis (ext)
Install Tool
Evtl. im Livebetrieb weg wg. Sicherheit
"Edit files in typo3conf/"
Möglichkeit die localconf.php zu bearbeiten. Sinnvoll z.B um nicht funktionierende Extensions wieder auszubauen. Cache löschen nicht vergessen.
Fragen: - wo macht man was? - dev ipmask - wie kommt man an externe Files (fopen, curl)
Basic Configuration
Encryption key: wichtig z.B. für salted Passwords. Nicht verändert
Auch wichtig gleich alles auf utf-8 umstellen (besser Datenbank kopieren.
- Datenbank, Tabellen
- Speicherung der Daten
- Datenbankverbindung
Database Analyser
- Compare - Admin User
Version z.B. 4.2.11 MajorVersion . Compatibility Version . PatchVersion
All Configuration
Extensions
Systemextensions -> auf die Version angepasst => nicht verändern sind in typo3 sysext
Sie sind teil des Systems. Kann man praktischerweise abschalten (Performance)
- Systemextension "cms"
- Globale Extensions
Diese sind Teil des Cores
für Globale Extensions kann man da sie Teil des Kerns sind für mehrere Installationen nehmen.
Sie können aber trotzdem lokal installiert werden (weil das ja in localconf.php passiert)
Bei überschneidungen gilt Reihenfolge System dann Global dann Lokal (lokal überschreibt z.B. Global)
Sicherheit
milworm für Übersicht
Backend
Caching
- Page Content Cache -> Datenbank
- Configuration Cache -> Cache Dateien in localconf.php
Struktur
- 3 Teilung, von links nach rechts arbeiten (als Tipp)
- Hauptmodule für Inhalte (List,Page)
- Seitenbaum
- WEltkugel -> nur Admin, bestimmte Datensätze, uid=0,
- alles ist Tabelle und wird auf den Datenbaum projiziert (uid und pid)
- Wo kann man Seiteneigenschaften einstellen (Pagemodul, Seiteneigenschaften Button, Listmodul, Kontextmenü)
Module
- Redakteur Bereich
- Admin Bereich
Extension Manager
Reviewed Extensions, Shy Extensions, Obsolete, Was passiert? Warum sehe ich meine Extension nicht, TER
Deinstallieren nützt nichts bei Hacken -> delete, wo geht das? Wo melde ich (Security-) Bugs (Team)
Name von Extensions
Grundsätzliches zu Tabellen
Namen, pid, uid, sorting, hidden, deleted
wiederkehrende Namen (title etc.)
Templates
Differenzieren zw. HTML und TS
TypoScript Template
Root oder Extension
Template Tools
Info/Modify, Constant Editor, Object Browser, Template Analyser
Template ist ein Datensatz
TypoScript
Assoziatives Array, keine Programmiersprache eher Konfiguration, weniger Objekt als Strukturierte Information (hierarchisch)
Objektpfad, Wert
liegt am Ende alles im TSFE (komplettes Frontend)
(weitere Objekte TCA, ConfVars, Globals TYPO3DB...)
- Unbekannte Teile werden ignoriert
- Durch TS wird irgendwann PHP ausgeführt.
- Der zuletzt definierte Wert gilt
Gglobalstsfe->pSetup... Funktion
- objektpfad - operator wert
page=PAGE
Operatoren
= Zuweisen := modifizieren > löschen < kopieren =<Referenz
Kommentare
#, /, //, /* */
Müssen immer in der ersten Zeile stehen. Wenn danach wird auch das davor ignoriert
Syntax
- Verkürzen durch geschweifte Klammer
- runde Klammer für mehrere Zeilen (dann ohne = und nach öffnen der neuen Klammer neue Zeile und Endklammer in eigene Zeile)
Top Level Objekte (TLO) und CONTENT Objekten (CO)
= TLO
Findet man unter Setup in der TSREF Braucht man eins bevor überhaupt was geht z.B.
CONFIG
gibt es allein, gilt dann für alles oder als sub zu pageObjekte, gilt dann nur für die betreffende Seite.
PAGE (muß verwendet werden)
PAGE Objekt
page=PAGE
ist eigentlich schon eine Seite aber wegen einem Bug muß zumindest eine weitere Zeile mit
page.irgendwas = irgendwas
kommen
Unterschied HTML / TEXT
HTML: darauf value und darauf stdWrap TEXT: value und parallel dazu wrap
TEXT Objekt kann auch HTML besser TEXT verwenden durch paralleles verwendne kann man den Inhalt besser wieder verwenden. Historisch ist TEXT das neuere.
IMAGE, IMG_RESOURCE
TEMPLATE
Marker und Subparts kommt ein Marker zweimal vor wird es automatisch ein Subpart. Kommentare sind nur da damit er nicht versehentlich angezeigt wird. auch begin und end ist nicht notwendig.
Beispiel:
// Beim includieren könne man auch EXT: statt FILE: nehmen
// Includieren funktioniert auch in PageTS und UserTS und in den Files selber
//<INCLUDE_TYPOSCRIPT:source="FILE:fileadmin/ts/setup.ts">
page = PAGE
page{
10 = TEMPLATE
10{
// TEMPLATE hat die Eigenschaft template, die ein CObject bekommt
// Wir nehmen ein CObject vom Typ FILE
// Ein FILE-Objekt hat die Eigenschaft file vom Typ resource (Pfad zu Datei)
template = FILE
template.file = fileadmin/site/index.html
// workOnSubpart sorgt dafür das nur ein bestimmter Teil (hier DOCUMENT) für die Ausgabe genommen wird.
workOnSubpart = DOCUMENT
marks{
HEADERTEXT = TEXT
HEADERTEXT.value = Ein Marker mit dem Namen HEADERTEXT
}
}
TypoScript
Statisches TypoScript, Includiert, in der Datenbank oder als Text File
stdWrap
get -> Daten holen
die wichtigsten sind
field
field -> damit holt man alle Felder einer Seite (title etc.)
MARKER = TEXT MARKER.field = title
data
Vom Typ getText kann auf fast alles zugreifen
FOOTERTEXT = TEXT
//so
FOOTERTEXT.data = date : Y
FOOTERTEXT.wrap = © |
// oder mit dataWrap werden Teile in {} wie mit data ausgewertet
FOOTERTEXT.dataWrap = ©: {date:Y} by {field:author}
override / conditions
-> Bedingungen
parseData ->verändern
Weitere Tipps =
außer bei den Datentypen auch immer in den Functions der TSREF suchen