Zum Inhalt springen

An welcher Stelle definiere ich "Columns" / "

Erstellt am 3. April 2003 · 5 Antworten · letzte Antwort am 17. September 2003

Tags: Frage

rrottman ·

Beschäftige mich erst seit 24 Stunden mit Typo3. Bin begeistert, verwirrt und neugierg. Ein Problem scheint (sowohl in der Deutschen als auch in der Englishen) Community und in allen Dokus, Tutorials, etc. zu sein, daß die Begrifflichkeiten nicht eindeutig sind. Templates, Design-Vorlagen, Constants, etc.

Ganz oft werden unterschiedliche Dinge mit dem gleichen Namen bezeichnet und umgekehrt. Anyway... . Vielleicht machen wir irgendwann mal für den Deutschen Sprachraum ein Typo-Wörterbuch oder Glossar... . :-)

Zur Frage:
In meiner ersten Test-Seite sehe ich in der Ansicht

Web>Page im Modus "Columns" nur eine einzige Spalte zu der ich Content Elemente hinzufügen kann, die Spalte "NORMAL".

Wenn ich von anderen Test-Sites (u.a. die von typo3.com) Pages im gleichen Modus betrachte, gibt es da oft mehrere Spalten: NORMAL, LEFT, RIGHT, etc. Und in manchen Tutorials habe ich gelesen, daß man sich sogar noch zusätzliche Content-Bereiche definiert hat, wie FOOTER, EXTRA, etc.

Einige Fragen und die große Bitte um Hilfe:

1.) Die als "Columns" bezeichneten Bereiche, werden das auf jeden Fall auf der Seite nachher (also im Frontend) TABLES? Also wenn ich drei Spalten definiere, heißt das, daß meine Seite immer z.Bsp. mit einem TABLE mit 3 Columns gerendert wird. Oder sind das nur Bereiche auf der Seite, denen gar nicht analog irgendein HTML Tag gegenübersteht?

2.) Wo genau definiere ich die Columns / Layout-Bereiche? Ich habe die Content Elemente meiner Seite im Moment vollständig im Layout-Bereich NORMAL. Nun möchte ich zum Beispiel einen Bereich FOOTER oder RIGHT oder so hinzufügen? Wie genau mache ich das?

Diese beiden konzeptionellen Fragen sind es, die mich zur Zeit aufhalten. JEDE Hilfe ist sehr gerne gesehen.

Danke im voraus.
Ralf

rrottman ·

(Jetzt antworte ich mir schon selbst, ich bin mir aber nicht sicher, ob ich es richtig verstanden habe. Die Zusammenhänge sind so komplex... .)

Ist es so, daß das was in der Backend-Administration als "Columns" oder "Spalten" bezeichnet wird, sich lediglich auf Content-Spalten in der Content-Datenbank bezieht und überhaupt keine automatische (!) Repräsentation im Frontend nach sich zieht.

Kann es sein, daß mein Verständnisproblem daher rührt, daß bei PHP-Nuke und ähnlichen Systemen in der Regel ein "Block und Spalten"-Layout Verwendung findet.

Wenn dem so ist, dann hieße das, daß man im Backend Content Bereiche im Sinne von Inhalts-Bereichen festlegt, die Columns / Spalten und später das Template dafür verantwortlich ist, diese in Columns / Spalten hinterlegten Inhalte bestimmten Bereichen im Layout zuzuweisen. Zum Beispiel über MARKER oder aber auch programmatisch via Skript?

Ist das richtig verstanden?

Wenn ja, bleiben trotzdem meine Fragen offen: Wo lege ich die Anzahl und die Bezeichnung der Backend-Spalten fest. Und wie greife ich dann über Typo-Script im Template auf diese Columns gezielt zu?

Nochmals Danke.
Ralf

bk ·

hallo rottman,

hast recht...typo ist nicht ganz so einfach 😃

zu deiner ersten frage: typo hat insgesamt 4 spalten, die du auf der startseite deines baumes aktivieren kannst ( im seitentitel -> typoscript-feld). diese kannst du folgend aktivieren oder deaktivieren:

mod.SHARED.colPos_list = 1, 0, 2, 3

1. linke spalte
0. normal
2. rechte spalte
3. rand.

hast du diese angelegt werden sie aber nicht automatisch im frontend gerendert, sonder du musst sie im template (typoscript - template) aktivieren. hierzu am besten die deutsche doku von rober mayer lesen ( http://www.typo3server.de )

ich arbeite meistens mit designtemplates (html-gerüst), die marker enthalten. diese marker können nachher gefüllt werden und bieten dir platz für z. b. deine navigation, footer, login felder, suchfelder und natürlich deinen normalen content, den du im backend in deine entsprechenden spalten (siehe oben) einträgst. wie und mit was du die marker füllst kannst du selber entscheiden, was natürlich in zusammenhang mit deinem können hinsichtlich typoscript steht.

noch ein hinweis: du legst dein template nur einmal für die startseite fest und diese wird dann für alle folgenden seiten verwendet bis du auf eine ensprechenden seite ein neues template definierst. du kannst allerdings auch templates aufeinander aufbauen und für einzelne seiten extension templates vergeben.

mfg

bk

rrottman ·

Vielen Dank.

Das ist jetzt deutlich. Leider wird das konzeptionell so deutlich in keiner mir bekannten Doku beschrieben. Ich überlege schon, ob ich - trotz der vorhandenen guten Resourcen - eine Seite ins Netz stelle, auf der ich meine Anfangsschwierigkeiten und die Erkenntnisse mit Fokus auf die Konzepte beschreibe... .

Es ist also so, daß die SPALTEN im Backend INHALTLICHE Trennungen vornehmen, nicht LAYOUT Trennungen. Die Zusammenführung von INHALTEN (Backend Spalten) und LAYOUT (Frontend Darstellung) erfolgt über Templates.

Frage: Wie lauten die 4 Typo Script Zeilen, um aus jeweils einer der vier Spalten den Content einem Marker zuzuweisen. Ich suche quasi nach dem rechten Teil für

marks.AREA = ???

Ich nehme an für ??? kann ich dann jeweils für eine der vier Spalten einen bestimmten Code einsetzen. Welchen?

Gruss. Ralf.

bk ·

hallo rottman,

du kannst die einzelnen bereiche folgend zuweisen:

marks.AREA < styles.content.get (normale spalte)

linke spalte:

< styles.content.getLeft

rechte spalte:
< styles.content.getRight

rand:

< styles.content.getBorder

Ich überlege schon, ob ich - trotz der vorhandenen guten Resourcen - eine Seite ins Netz stelle, auf der ich meine Anfangsschwierigkeiten und die Erkenntnisse mit Fokus auf die Konzepte beschreibe... .

dass kannst du auch gerne auf http://www.typo3faq.net machen, dort kann ich dann noch einen bereich für newbees einrichten 😃

mfg

bk

yakuza ·

hi!

mich würde hier mal interessiern, wie man die spalten auslesen kann, wenn man diese umbenannt hat?

Bsp: INHALT | TEASER | BILD UEBERSCHRIFT | ...

dann klappt das ja nicht mehr mit dem styles.content.getLeft.
styles.content.getTEASER funzt ja auch nicht.

Gelöst hab ich das ganze dann einfach mal so:

temp.TEASER < styles.content.get
temp.TEASER {
  select.where = colPos=1
  select.orderBy = sorting
}

oder gibts da noch eine bessere lösung?