[TYPO3-german] Verständnisfrage - TS - Include stati c - Extensions
S. Teuber
traveler_in_time at gmx.net
Sun Feb 12 12:37:45 CET 2006
Hi Christian,
> Ich verstehe noch nicht ganz wie die Include static Documente da
> reinpassen. Also, bitte klopft mir auf die Finger wenn ich Stuss
> erzähle:
Das "static" in "include static" bezieht sich auf "static *template*".
Wenn Du im Modul Web->Template auf "Template Analyzer" gehst, siehst Du
die "Template Hierarchy" als umgekehrte Baumstruktur abgebildet.
Ein Template kann über die include-Boxen (include static, include basis
template) Unter-Templates aufnehmen, ähnlich wie eine Seite im Seitenbaum
Unterseiten haben kann. Der Unterschied zwischen den beiden includes ist,
dass die "static"-templates bereits vorprogrammiert wurden, während
"basis" templates vom Administrator selbst erst noch erstellt werden
müssen.
Die static templates enthalten die ständig benötigten TypoScript-
Konfigurationen. Das berühmte "content (default)" bzw. der modernere
Nachfolger "css_styled_content" z.B. enthalten unter anderem TypoScript-
Konfigurationen, die die Inhalte der 4 Content-Spalten (Links, Normal,
Rechts, Rand) aus der Datenbank auslesen (styles.content.Get
[Left|Right|Border]).
> Eine Seite wird durch den page Befehl im Template Setup der Seite
> begonnen. Damit wird ein HTML Grundgerüst erstellt. Anpassungen werden
> durch config Befehle erzeugt.Alle Anweisungen vererben sich im
> Seitenbaum weiter.
So ungefähr. "page" ist allerdings kein Befehl, sondern ein Objekt. Mit
"seite = PAGE" legst Du einfach ein Objekt an, welches dann später zu
irgendeiner Ausgabe (meistens HTML, kann aber auch PDF sein) führt.
> cObjecte sind dann die Elemente die den Inhalt bereit stellen. Wie
> Bilder, HTML Code, Text, TEMPLATE uvm....
>
> Sind GIFBUILDER, (*)MENU(*), CONTENT, plugin.xxx auch cObjecte ?
Ja.
> Parallel dazu gibt es dann das eigentliche CMS. Über das CONTENT
> cObject(?) werden die Datensätze(Inhalte) des CMS ins Template
> eingespeißt.
Nein. Das "eigentliche CMS" ist TYPO3, mit allem, was dazu gehört. Die
Unterscheidung ist eher folgende:
Content (Inhalte) - das Zeug, was in der Datenbank liegt
cObject - Sammlungen von Anweisungen, was mit dem Content aus der
Datenbank angestellt werden soll, damit irgendetwas - meistens HTML-
Fragmente, die bspw. einen Text, ein Formular, eine Navigation etc.
abbilden - erzeugt wird.
cObject "CONTENT" - Ein cObject, dessen Aufgabe darin besteht, auf
relativ direktem Wege Inhalte aus der Datenbank zu holen. Zur Darstellung
dieser Inhalte benötigt CONTENT meistens eins von den anderen cObjects
(in der Eigenschaft renderObj); dies ist bei den meisten anderen cObject-
Typen nicht nötig.
Das cObj "CONTENT" brauchst Du, wenn Du an bestimmte Inhalte der
Datenbank rankommen möchtest, die sich über eine bestimmte SQL-Abfrage
ermitteln lassen. Wenn Du z.B. alle Inhalte aus der Tabelle tt_content
haben möchtest, bei denen in der Spalte "colPos" eine 0 steht, kannst Du
diese über das CONTENT-Objekt ermitteln:
styles.content.get = CONTENT
styles.content.get {
table = tt_content
select.where = colPos=0
}
Voilá, so bekommst Du alle Inhalte, die in der "Normal"-Spalte stehen.
Eben das, was man, weil man es ständig braucht, dank des static templates
auch kürzer über styles.content.get machen kann. ;-)
> FE Extensions kommen über diesen Umweg, natürlich je nach Funktion der
> Extension, auch in die Ausgabe(Webseite).
Ja. Plugins machen das gleiche wie andere cObjects auch: Sie formulieren
anhand per TypoScript übergebener, aber auch anhand intern festgelegter
Parameter eine oder mehrere Anfragen an die Datenbank und liefern in
irgendeinem Format - meistens HTML - etwas zurück, was sie aus den
gefundenen Inhalten gemacht haben.
> Gibt es auch eine Möglichkeit das cObject "zurück" an das CMS
> geschickt werden kann?
Ich verstehe die Frage nicht?
> Ist es richtig das das content(default) static File(?) die einfachste
> "Schnittstelle" ist, die das CMS in das CONTENT cObject bringt? Gibt
> es noch andere static files die das machen ? Wenn ich das
content (default) - kein File, sondern eine Reihe aus der Datenbank-
Tabelle sys_static_templates - definiert einfach häufig benutzte cObjects
schon mal vor, damit man nicht jedesmal das Rad neu erfinden muss,
sondern über die vordefinierten Objekte wie styles.content.get häufig
benötigte Aufgaben durchführen kann.
Es ist also einfach eine Sammlung von vordefinierten cObjects, die
Inhalte aus der Datenbank anfordern und ggf. noch etwas verarbeiten.
Es gibt noch andere static templates, die das machen. Das bekannteste
dürfte css_styled_content sein. Der Unterschied ist, dass content
(default) bestimmte Parameter in altem HTML 3.2 Tabellen-Design
definiert, während css_styled_content moderneres, CSS-basiertes HTML 4.0
konfiguriert.
> Ist so ein static File eine Datei die man sich anschauen kann ?
Teils teils. Die vom Grundsystem bereitgestellten static templates sind
Einträge in der Datenbank (sys_static_templates). Die kann man sich
entweder in der DB direkt anschauen, oder etwas schöner formatiert im
Template Analyzer. Static templates, die aus Extensions wie tt_news
kommen, sind dort meistens als Datei hinterlegt (Extension-
Verzeichnis/ext_typoscript_constants|setup.txt).
> Ich hoffe ich habe nicht allzu viel Mist erzählt. Wenn doch schuppst
> mich Bitte in die richtige Richtung.
Ich empfehle die Lektüre der TSref und die Analyse des TypoScript-
Objektbaums (mit Web->Template - Typoscript Object Browser). Dann
anschauen, wo die Sachen aus dem Object Browser eigentlich herkommen
(d.h. definiert werden): Template Analyzer -> beliebiges Template
anklicken und staunen. ;-)
Hoffe, das war verständlich,
Sven
More information about the TYPO3-german
mailing list