Zum Inhalt springen

inhaltselemente erweitern

Erstellt am 1. August 2006 · 13 Antworten · letzte Antwort am 5. August 2006

Tags: TCA, Inhaltselemente, Frage

Krebskasper ·

moin,
ich würde gerne inhalts elemente wie "text" und "text mit bild" so erweitern, dass man eine weitere select box hat in der drei dinge zur auswahl stehen.
nichts,
groß,
klein

wenn "nichts" ausgewählt wird, wird der content normal gerendert wie sonst auch.

sollte aber "groß" oder "klein" ausgewählt werden, so wird der inhalt jeweils mit einem div mit der klasse "groß" bzw. "klein" umgeben, in diesem div, soll als überschrift stehen, was man auch in dem element als überschrift angeben hat, und dann der normale text.
nur halt in diesem div.

ich hab keinerlei ahnung wie bzw. wo ich da genau ansetzen könnte.
kann mir da einer weiterhelfen? danke

imu ·

in den Contentelementen gibt es soetwas bereits: heißt "Rahmen". Die Standard-Ausgabe dieser Rahmen kannst du mit TypoScript ändern/ zweckentfremden :p

Beispiele

tt_content.stdWrap.innerWrap.cObject.10.value = <div class="usichtbar"> | </div>
tt_content.stdWrap.innerWrap.cObject.12.value = <div class="einruecken">|</div>

die einzelnen Rahmen, die im Dropdown auswählbar sind, haben diese "Nummern":

#1 Unsichtbar
#5 Linie davor
#6 Line danach
#10 Einrücken
#11 Einrücken, 33/66%
#12 Einrücken, 66/33%
#20 Rahmen 1
#21 Rahmen 2

Krebskasper ·

so einen nachtrag habe ich noch -
was ist wenn ich jetzt nicht nur den ganzen content wrappen lassen will sondern auch noch überschriften / links / bilder
gibts da eine ähnlich elegante lösung?

imu ·

... falls du die css_styled_content installiert hast, schau dir im Template Analyzer deren Inhalt an, das sollte Dir ne Menge Ideen geben ... Typo3 funktioniert ja nach dem Zwiebelschalen-Prinzip. Du kannst also alles, was in früher eingebundenen Templates definiert wurde, überschreiben ... und css_styled_content wird in aller Regel vor deinem eigenen TypoScript Template eingebunden.

vierpunkt ·

das mit den rahmen konfigurieren klappt ja ein ja. leider kann ich da nur 4 rahmen maximal selbst bearbeiten. wenn ich die rahmen 5,6,20 und 21 bearbeiten will passiert nix, da behält typo3 die eingestellte config. gibt es irgend ne möglichkeit das zu erweitern? 4 rahmen sind ein bisschen wenig...

danke

Krebskasper ·

also ich hatte kein problem bei der oben stehenden nummerierung auch die anderen zu bearbeiten - es gibt auch die möglichkeit mehr hinzuzufügen - hab ich in irgendeinem buch stehen und schreibs bei gelegenheit hier rein

imu ·

... kann man. Im Seiten TS Config könnte man mit

TCEFORM.tt_content.section_frame.removeItems = 1,6,10

die ersten drei Einträge entfernen,

mit

TCEFORM.tt_content.section_frame.addItems.25 = Neuer Rahmen

einen neuen Rahmen hinzufügen. Und damit kann man die Beschriftung
der Einträge im Dropdown anpassen.

TCEFORM.tt_content.section_frame {

  altLabels.20 = Box, mein Layout 1
  altLabels.21 = Box, mein Layout 2
  altLabels.25 = Box, mein Layout 3
  
}

Geht übrigens nach diesem System für alle Dropdowns in diesem Formular. Siehe manual_doc_core_tsconfig usw. pdf

vierpunkt ·

okay, vielen dank

irgendwie funktioniert das nicht. wenn ich einen neuen rahmen hinzufügen will kann ich diesen nicht auswählen bei rahmen ...

imu ·

Wo hast du die TSconfig-Anweisung eingefügt?
Sie muß in das Feld TSConfig in den Seiteneigenschaften und wird dann für diese Seite incl. aller Unterseiten angewendet.

Krebskasper ·

ich hab den ganzen spass jetzt gemacht - das problem ist nur, dass ich zwar die neuen rahmen sehe, wenn ich sie jedoch via ts konfiguriere wie der spass dann gewrappt werden soll gehts wieder nicht.

kann mir einer sagen warum?

(info: wenn ich eins der bereits vorhanden elemente z.b. 1 via ts konfiguriere gehts)

Krebskasper ·

gelöst:
tt_content.stdWrap.innerWrap.cObject.x.value = WRAP

das reicht nicht, sondern es muss noch ein
tt_content.stdWrap.innerWrap.cObject.x = TEXT
davor ^^

bsp.:
tt_content.stdWrap.innerWrap.cObject {
22 = TEXT
22.value = <div class="auto100_2">|</div>
}
erst so wird dann auch der wrap des neu angelegten rahmens ausgeführt

vierpunkt ·

hey, ist echt ne praktische sache.

danke für die vielen tips! bei mir funktionierts wunder bar.

was jetzt noch genial wär = dieser rahmen ist ja nur auf den kompletten inhalt beschränkt. ich kann jetzt z.b. nicht sagen das die überschrift (wenn ich normales text content element wähle) in einem anderen div liegt. da ja das komplette element gewrapped wird. gibts da auch ne möglichkeit? das wär total genial... also wenn ich für den eigentlich text nen rahmen hätte und für die überschrift. ich könnte natürlich auch mit css die überschriften definieren (h1 background-image) usw... aber da bin ich nicht so flexibel..

danke