Zum Inhalt springen

Rahmen sind seit 4.3 weg

Erstellt am 1. April 2010 · 18 Antworten · letzte Antwort am 3. Juni 2013

Tags: Frage

Pablita ·

Hallo zusammen

Bisher konnte ich immer im BE einen Rahmen auswählen für den Content
Seit TYPO3 4.3.. geht das nicht mehr. Er zeigt mir aber im BE nach wie vor meine Auswahl (z.B mein Rahmen) an.

statt für den Content 64:

<div class="mein Rahmen">

steht im HTML

<div class="csc-frame csc-frame-frame2" id="c64">

Was kann ich machen , oder ändern ?

Danke

Pablita ·

Danke Julian
die alte Version war 4.2.12

So wie in dem Link beschrieben hatte ichs ungefähr.

Habe inzwischen erst mal eine Lösung gefunden:

Im Template unter "Enthält" habe ich einfach das statische Template "CSS-styled content" durch die "CSS styled content 4.2" ersetzt. Jetzt läuft es wieder wie unter 4.2..
Wäre natürlich trotzdem mal interessant zu wissen, ob es auch mit dem neuen CSS styled Content gehen kann, oder ob dadurch irgendwelche Nachteile entstehen, wird ja nicht ohne Grund geändert worden sein.

Paul

Büchel ·

Moin

jipp - bestätige den Fehler in der 4.3 version !

nach der Installation keine definierte Rahmen mehr da - wenn CSS styled content 4.2 eingefügt wird funkt wieder alles

ABER dann funkt bei mir die ext. smoothgallery nicht mehr 🙁

Ergo - alles mist

gruss

Büchel ·

EDIT: Problem gelöst - in "Statische Vorlagen (aus den T3 Erweiterungen) einbinden:" muss Smoothgallery am ENDE der Liste stehen - dann funkt das

Julian.​Hofmann ·
Büchel schrieb

jipp - bestätige den Fehler in der 4.3 version !

Einspruch!

In einer 4.3.2-Installation mit standard (4.3-)CSS-styled-content werden die Rahmen bei mir problemlos genutzt - wie eh und je.

Büchel ·
Julian.Hofmann schrieb
Büchel schrieb

jipp - bestätige den Fehler in der 4.3 version !

Einspruch!

In einer 4.3.2-Installation mit standard (4.3-)CSS-styled-content werden die Rahmen bei mir problemlos genutzt - wie eh und je.

auch selbst erstellte ?

mit eigenem css style ?

die rahmen funktionieren bei mir - auch wenn ich CSS styled content 4.2 nicht aktiviert habe - ABER alle definierten cssstyles für diese rahmen werden komplett ignoriert !

Julian.​Hofmann ·

Jepp, auch eigene:

pageTSconfig:

TCEFORM.tt_content.section_frame.removeItems = 1,5,6,10,11,12,20,21
TCEFORM.tt_content.section_frame.addItems {
	100 = Notice
	101 = Info
}

TS-Setup:

tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
  key.field = section_frame
  100 = TEXT
  100.value = <div class="message-notice">|</div>
  101 = TEXT
  101.value = <div class="message-information">|</div>
}
Pablita ·

Hallo Julian
Ja, genau so hab ichs auch gemacht! pageTSconfig und TS-Setup.
Deshalb habe ich jetzt wieder auf standard (4.3-)CSS-styled-content umgestellt. Einige Auswahlpunkte funktionieren andere nicht. Die nicht funktionieren werden aber trotzdem im Frontend richtig angezeigt. Gehe ich auf den entsprechenden Content steht da in der Auswahl: "aktueller Wert nicht erlaubt".

Habe aber scheinbar jetzt den Fehler gefunden:
Die neuen Inhalte dürfen nicht die Nummern der entfernten Inhalte haben, also 1,5,6,10,11,12,20,21 !! Ich habe einfach 6 in 16 umgewandelt und siehe da, es funzt.

Paul

Julian.​Hofmann ·
Pablita schrieb

Die neuen Inhalte dürfen nicht die Nummern der entfernten Inhalte haben, also 1,5,6,10,11,12,20,21 !!

Naja, entfernte Nummern funktionieren nicht mehr, udn folglich auch keine Wraps mehr für sie. Da kommt dann logischerweise das ""aktueller Wert nicht erlaubt", weil de Wert eben nicht mehr Teil der Auswahlmenge ist.

Es ist auch möglich, bereits vorhandene Werte statt zu entfernen neu zu definieren. Hierzu sollte aber im TS von css_styled_content nachgesehen werden, was TYPO3 für die Rahmen an TS mitbringt und alles passen umgeschrieben bzw. gelöscht werden.
Ist finde das etwas umständlich und rette mich da lieber mit etwas höheren Werten auch für die Zukunft aus dem Wertebereich vom Standard-TYPO3-TS für Rahmen.

Hast Du immer schön an das Löschen der Caches gedacht nach Deinen Änderungen? Da stolpert man ja auch gerne mal drüber... #paralyzed#

Büchel ·

ok

ich habe folgendes bei mir stehen:

im ts.config:

TCEFORM.tt_content.section_frame {
  altLabels {
	1 = (Standart) Box
	5 = wichtig!
	6 = ohne Info
	10 = xxx
	11 = Gx
	12 = xxx
	20 = xxx
	21 = Oxx
	}
#removeItems = 3

}

und im template

tt_content.stdWrap.innerWrap.cObject.1.value = <div class="subcontent-unit-Box"><div class="round-border-Box"></div><div class="round-border-Box"></div> | </div>
tt_content.stdWrap.innerWrap.cObject.5.value = <div class="subcontent-unit-border-wichtig"><div class="round-border-wichtig"></div><div class="round-border-wichtig"></div> | </div>

reicht es jetzt aus wenn ich die nummern austausche - oder wie soll ich es am besten machen ?

Julian.​Hofmann ·

Um das ganze mal aufzuklären bzw. zu klären, warum welche Lösung klappt oder nicht klappt, habe ich mal in die Tiefen von TYPO3 geschaut.

Hier im Thread wurde ja bereits festgestellt, dass manches TS erst seit TYPO3 4.3 nicht mehr läuft. Somit stellt sich die Frage, warum?

Vergleich des TS in 4.2 vs. 4.3

css_styled_content in TYPO3 4.2 (Ausschnitt):

tt_content.stdWrap {
	innerWrap.cObject = CASE
	innerWrap.cObject {
		key.field = section_frame

		1 = TEXT
		1.value = <div class="csc-frame csc-frame-invisible">|</div>

		5 = TEXT
		5.value = <div class="csc-frame csc-frame-rulerBefore"></div>|

		# ...
	}
}

css_styled_content in TYPO3 4.3 (Ausschnitt):

tt_content.stdWrap {
	innerWrap.cObject = CASE
	innerWrap.cObject {
		key.field = section_frame

		default = COA
		default {
			10 = TEXT
			10 {
				value = <div id="c{field:uid}"
				override.cObject = TEXT
				override.cObject {
					value = <div
					if.value = div
					if.equals.field = CType
				}
				insertData = 1
			}

			15 = TEXT
			15 {
				value = csc-default
				noTrimWrap = | class="|" |
				required = 1
			}

			20 = COA
			20 {
				10 = COA
				10 {
					10 = TEXT
					10 {
						value = {$content.spaceBefore}
						wrap = |+
						if.isTrue = {$content.spaceBefore}
					}

					20 = TEXT
					20 {
						field = spaceBefore
					}

			 		stdWrap {
						prioriCalc = intval
						wrap = margin-top:|px;
						required = 1
						ifEmpty.value =
					}
				}

				20 = COA
				20 {
					10 = TEXT
					10 {
						value = {$content.spaceAfter}
						wrap = |+
						if.isTrue = {$content.spaceAfter}
					}

					20 = TEXT
					20 {
						field = spaceAfter
					}

					stdWrap {
						prioriCalc = intval
						wrap = margin-bottom:|px; 
						required = 1
						ifEmpty.value =
					}
				}

				stdWrap.noTrimWrap = | style="|" |
				stdWrap.required = 1
			}
			30 = TEXT
			30.value = >|</div>
		}

		1 =< tt_content.stdWrap.innerWrap.cObject.default
		1.15.value = csc-frame csc-frame-invisible

		5 =< tt_content.stdWrap.innerWrap.cObject.default
		5.15.value = csc-frame csc-frame-rulerBefore
		
		# ...
	}
}

Was ist nun die Änderung, die Euch in die Quere kommt?
In TYPO3 4.2 waren die cObjects einfache TEXT-Objekte. Diesen konnte man problemlos einen neuen Value zuweisen und alles hat gepasst.

In TYPO3 4.3 ist das cObject nun kein TEXT-Objekt mehr, sondern ein COA-Objekt. Dieses wird für den default-Fall definiert und in allen weiteren Fällen referenziert (=<). COA-Objekte haben keine value-Eigenschaft, wodurch eine Änderungen wie von Büchel keine Auswirkung hat, weil sie einfach ignoriert wird.

Möglich wäre nun, dass man das definierte cObject erst einmal löscht (damit aber auch die spaceBefore/spaceAfter-Behandlung usw.), und dann im Anschluss wieder wie früher ein TEXT-Objekt direkt definiert (Zeile 1+2, 5+6):

tt_content.stdWrap.innerWrap.cObject.1 >
tt_content.stdWrap.innerWrap.cObject.1 = TEXT
tt_content.stdWrap.innerWrap.cObject.1.value = <div class="subcontent-unit-Box"><div class="round-border-Box"></div><div class="round-border-Box"></div> | </div>

tt_content.stdWrap.innerWrap.cObject.5 >
tt_content.stdWrap.innerWrap.cObject.5 = TEXT
tt_content.stdWrap.innerWrap.cObject.5.value = <div class="subcontent-unit-border-wichtig"><div class="round-border-wichtig"></div><div class="round-border-wichtig"></div> | </div>

Ich hoffe, dass ich etwas mehr Klarheit in das Verhalten von TYPO3 bringen konnte.

Viele Grüße
Julian

Daviz ·

Hallo Julian,

danke für umfassende Beschreibung 🙂

Ich suche gerade eine Möglichkeit, von einem bestimmten Contentelement den seit Version 4.3 neuen Rahmen zu entfernen. In meinem Fall von tt_content.html.

Der TS-Object-Browser hilft mir hier leider gerade nicht weiter.

Viele Grüße,
David

Pablita ·

Naja, entfernte Nummern funktionieren nicht mehr, udn folglich auch keine Wraps mehr für sie. Da kommt dann logischerweise das ""aktueller Wert nicht erlaubt", weil de Wert eben nicht mehr Teil der Auswahlmenge ist.

Ist irgendwie unlogisch, erst entferne ich etwas, aber ich füge es ja anschließend wieder ein !
Wenn ich einen Apfel wegnehme und anschliessend wieder einen hinlege, dann hab ich wieder einen Apfel.

Aber OK.

Julian.​Hofmann ·
Pablita schrieb

Wenn ich einen Apfel wegnehme und anschliessend wieder einen hinlege, dann hab ich wieder einen Apfel.

Ja, dann hast Du wieder einen Apfel, aber nicht den, der ursprünglich da lag. Und so ist das hier ja auch: du entfernst ein TS-Objekt und legst ein anderes an seine Stelle wieder hin.

Basti4k ·

Hallo Forum,

genau dieses Problem wie oben beschrieben habe ich nun auch!!!
Wie kann ich denn nun auf dem einfachsten wege meine eigenen neuen Rahmen für die neue typo3 version bauen?

wäre um vorschläge super dankbar !

PS: übergangslösung ist nun erst einmal das:

tt_content.stdWrap.dataWrap = <a id="c{field:uid}"></a>|

aber ist klar... dadurch kommen nun valide fehler da die "id" zweimal ausgegeben wird...

Liberation ·

Oder so:
TCEFORM.tt_content.section_frame.addItems {
31 = meinCSS-Style
}

tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
31 =< tt_content.stdWrap.innerWrap.cObject.default
31.15.value = csc-frame meinCSS-Style
}

Jan.​S ·
Liberation schrieb

Oder so:
TCEFORM.tt_content.section_frame.addItems {
31 = meinCSS-Style
}

tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
31 =< tt_content.stdWrap.innerWrap.cObject.default
31.15.value = csc-frame meinCSS-Style
}

In TYPO3 6.1 muss es jetzt so aussehen

Oder so:
TCEFORM.tt_content.section_frame.addItems {
  31 = meinCSS-Style
}

tt_content.stdWrap.innerWrap.cObject = CASE
tt_content.stdWrap.innerWrap.cObject {
    31 =< tt_content.stdWrap.innerWrap.cObject.default
    31.20.10.value = csc-frame meinCSS-Style
}