Zum Inhalt springen

Prinzipielle Frage zur Contenteinbindung

Erstellt am 15. Mai 2003 · 26 Antworten · letzte Antwort am 9. Oktober 2005 · Seite 1 von 2

Tags: Inhaltselemente, Frage

flayoo ·

Ich habe über das Thema schon in einer anderen Newsgroup diskutiert, aber bin leider immer noch nicht schlauer geworden. Ich beschäftige mich erst seit kurzem mit Typo3 und finde das ganze Menusystem und die Möglichkeiten echt gut. Allerdings ist mir immer noch das Contentmodell unverständlich.

Ich möchte z.b. folgendes Problem lösen:
======================

- in meinem HTML-TemplateTemplate habe ich dann z.B. einen subpart: ###CONTENT###
- dem Anweder soll die Möglichkeit gegeben werden in einer bestehenden Seite einen neuen Inhalt einzufügen.

1. Möglichkeit: Einspaltiger Text mit einer Textheadline
------------
- Überschrift
- Text

2. Möglichkeit: Zweispalter Text
------------
- Überschrift
- Text

3. Möglichkeit: Einspalter Text mit einem anderem grafischen Aufbau als 1.
Möglichkeit und optional mit Bild
------------
- Überschrift
- Text
- Bild

4. Möglichkeit: Einspaltiger Text mit einer Grafischen Headline
------------
- Überschrift
- Text

Das hatte ich unter "Typischer Seiteninhalt" verstanden.

Der User geht nun also auf die Seite und wählt "Neuer Inhalt". Dann kann er wählen ob er die 1., 2., 3. oder 4. Möglichkeit der Contentanordnung wählen möchte. Und bekommt dann die dazu passende Eingabemaske.

Soweit zu meiner Therie 😉
Meine Frage ist nun allerdings wie man dies auf einfache weise lösen kann. In einem Tutorial habe ich zwar gelesen, dass man Extensions erzeugen kann. Der Aufwand dafür ist aber aus meiner Sicht echt ziemlich aufwändig. Wie löst ihr so etwas?

Danke schon einmal für eure Antworten 🙂

Mathias netfielders ·

bis auf die 2 spaltige Sache ist das doch alles peanuts.
Und die Aktion mit den 2 Spalten löst du einfach darüber, dass du den Marker CONTENT erst mit <styles.content.get füllst und dann die rechte spalte mit styles.content.getLeft z.B.

flayoo ·
Mathias [netfielders] schrieb

bis auf die 2 spaltige Sache ist das doch alles peanuts.

fänd ich ja gut wenn es so easy wäre. und wie löst man das genau?

Mathias netfielders ·

condition, die das Layout abfragt (siehe TSRef -> Conditions)
page.10.subparts.CONTENT < styles.content.get

[else]
page.10.subparts.CONTENT = COA
page.10.subparts.CONTENT {
wrap = <table border="0"><tr>|</tr></table>
10 < styles.content.get
10.wrap <td>|<td><img src="clear.gif" width="20" height="1"></td>
20 < styles.content.getRight
20.wrap <td>|<td><img src="clear.gif" width="20" height="1"></td>
}

flayoo ·

Ich habe in der TSref keine [else]-Condition gefunden. (?)
Ist das eine ganz normale if - else if - else - Abfrage?

Zumindest kommt das aber dann meinem Problem ein Stückchen näher. 😉 Somit definiert man im TypoScript alle gewünschten Contentanordnungen und die gewünschte wird dann angzeigt. (?)

Wie vermittelt der Anwender aber dem System welche Anordnung er gewählt hat?

flayoo ·

Und wo genau? In der TsREf oder im "TypoScript by Example". In der TsREF hab ich so etwas nicht gefunden.

sacha ·

Hi,

flayoo schrieb

In der TsREF hab ich so etwas nicht gefunden.

warum nicht? Auf Seite 42 steht:

This will match with the pages having the layout field set to “Layout 1”:
[globalVar = TSFE:page|layout = 1]

Ciao,

Sacha

flayoo ·

Hast du eine andere Referenz? In der TsRef auf typo3.org steht nur

4.1.18 GlobalVars:
Syntax:
[globalVar= var1=value, var2<value2, var3>value3, ...]

Aber kein Beispiel.

--------------

Auch mit deinem Skript kann ich nicht viel anfangen 🙁
Wie definiere ich denn welches Layout der Anwender anwendet?

flayoo ·
sacha schrieb

mit o. a. Condition abfragen welches Layout gewaehlt wurde und dann den entsprechenden TS Code ausfuehren. Dann kannst du z. B. unterschiedliche Designvorlagen waehlen, Marker fuellen usw.

Aber wo, wie und wann wählt man dann zwischen verschiedenen Contentvorlagen?

Mathias netfielders ·

schau dir mal an, was conditions machen.

du kannst doch wesentlich mehr umschalten als das, was ich da geschrieben hab.
Zum Beispiel kannst du ein anderes HTML template benutzen.

sacha ·

Hi,

guck dir mal diese Loesung an:

#1391

die macht fast genau das, was du suchst. Aber die Condition fragt nicht nach dem Layout-Typ sondern nach einer Linkvariablen.

Aber das kannst du ja abaendern. Wenn du dich nur ein klein wenig mit Conditions beschaeftigst und mal den Link 2 Nachrichten weiter oben anklickst, dann findest du ganz bestimmt auch selber raus wie.

Ciao,

Sacha

flayoo ·

Mennnooo....So langsam ist das echt zu verzweifeln 🙁 Warum hat sich nur kein Tutorial bisher mit so etwas befasst. (?) Ich habe nun 4 Tutorials durchgearbeitet, aber dort greift man ja immer nur auf die Standart-Seitentypen zurück.

Ich möchte doch nur den User wählen lassen welche Contentanordnung er für diese Seite, die er bearbeitet, auswählen darf.
Und wenn diese nun z.B. aus einem 3 Spaltigen Text mit einer Headline besteht, erhält er als Eingabemaske 4 Textfelder (Headline, Text für Spalte1, Text für Spalte2, Text für Spalte3) und schwupp ist sein Eintrag in der richtigen Anordnung auf der Seite.

Mathias netfielders ·

ok, denkfehler.

Wenn du einen Textdatensatz anlegst, kannst du dort die position festlegen, an der er erscheinen soll.

Du kannst also zum beispiel Content in die rechte Spalte eingeben, der wird aber nicht angezeigt, wenn dein TypoScript Template styles.content.getRight nicht eingebunden hat.

Prinzip begriffen?

flayoo ·

@sacha
Also in Bezug auf Tutorials habe ich schon folgende komplett durch:
"Modern Template Building, Part 1", "Der Einstieg", "References template"
"Golive Template integration". :-) Und dort wurde zwar vieles Hilfreiches aber nichts in der Art, was ich suche bisher behandelt.

--------------------------------------------

@Mathias
Dieses Prinzip mit content.getRight etc. hatte ich schon verstanden.

Ich dachte nur eben, dass man definieren kann wieviele Eingabefelder der User erhält unabhänig von der Position an der er es einfügen soll. Sprich: Dass der User gleich mit einem Klick den Content füllen kann. Aber ich nehm das nun einfach erstmal so hin. 😉

Wenn der Anwender einen einspaltigen Text schreibt, gibt er diesen an der "NORMAL"-Position ein.
Wenn der Anweder einen zweispaltigen Text schreiben möchte, gibt er einer an der "NORMAL"-Position und "LINKS"-Position ein.
Die Inhalte kann ich dann mit Typo3 richtig anordnern. Soweit ist nun alles klar.

Aber [<-- ich hoffe ja, dass ich solangsam nicht auf die nerven wegen diesem Thema gehe 😉], wie kann man in Typoscript nun unterscheiden was angezeigt werden soll?

Die folgende Condition ist ja schön und gut:

[globalVar = TSFE:page|layout = 1]

Aber es muss doch irgendwo vermittelt werden was der User gerade für eine Aktion tätigen möchte.

z.B.: folgende für Darstellung einer Seite:
------------------------------------

Headline
TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT

Headline
TEXTTEXT||||||||||||TEXTTEXT
TEXTTEXT||||||||||||TEXTTEXT
TEXTTEXT||||||||||||TEXTTEXT
TEXTTEXT||||||||||||TEXTTEXT

Headline
TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT

Mathias netfielders ·

*sigh*

Wenn du das Layout der Seite auf 2 stellst, soll er 2 Spalten Content einbinden, ok?

globalVar = TSFE:page|layout = 2]
page.10.subparts.CONTENT = COA
page.10.subparts.CONTENT {
wrap = <table border="0"><tr>|</tr></table>
10 < styles.content.get
10.wrap <td>|<td></td>
20 < styles.content.getRight
20.wrap <td>|<td></td>
[else]
page.10.subparts.CONTENT < styles.content.get
[end]

nfc

sacha ·

Hi,

flayoo schrieb

@sacha
Also in Bezug auf Tutorials habe ich schon folgende komplett durch:
"Modern Template Building, Part 1", "Der Einstieg", "References template"
"Golive Template integration". :-) Und dort wurde zwar vieles Hilfreiches aber nichts in der Art, was ich suche bisher behandelt.

darum habe ich ja auch geschrieben, dass du dir die o. a. Tutorials durchlesen sollst. Da steht naemlich genau das drin, was du suchst.

Ergaenzend zum TS-Code von Mathias hier noch ein Bildchen, damit du weisst, wie du einer Seite ein Layout zuweisen kannst:

Bild: wkbf.unlimitedvision.de/…/select_layout.jpg

Ciao und viel Erfolg,

Sacha

flayoo ·
Mathias [netfielders] schrieb

Wenn du das Layout der Seite auf 2 stellst, soll er 2 Spalten Content einbinden, ok?

Ok. vom TypoScript ist mir das versändlich. 🙂
Meine brennende Frage ist allerdings, wer stellt wann wo ein, dass er jetzt den Inhalt dieser Seite auf layout=2 setzen soll, damit TypoScript den eingegeben Text als zweispaltig interpretiert?
Kann der Anwender irgendwoe klicken und typoscriptmitteilen: "hey den nächsten inhalt den ich jetzt eingeben werde soll bitte mit layout2 interpretiert werden und den daraufolgenden mit layout1"?