[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