[TYPO3-UG Freiburg] Typo3 7.6 Ersatz für CE frame Option

Heiko Hänsge mailinglisten at wild-wild-web.de
Wed Feb 7 12:12:10 CET 2018


Hallo Ben,

Danke! Das hat mich zumindest auf die richtige Spur gebracht.

Das Element textmedia kann wohl so nicht 'gewrapped' werden:
tt_content.textmedia.stdWrap...

Aber der allgemeine tt_content-Wrap funktioniert.
Ab Typo3 7.x muss wohl zusätzlich zwingend der Typ definiert 
werden(default = TEXT, 114 = TEXT usw.)

hier ein funktionierendes TS-Setup Beispiel:

tt_content {
   stdWrap.innerWrap.cObject =  CASE
   stdWrap.innerWrap.cObject {
     key.field = layout
     // frames option in Typo3 7.x nicht verfügbar, erst wieder ab 8.x
     #key.field = frame_class
     default = TEXT
     default.value = |
     114 = TEXT
     114.value = <div class="section_frame col-md-3">|</div>
   }
// Tests
#  stdWrap.wrap = <div class="section_frame-{field:frame_class} 
layout-{field:layout}">|</div>
#  stdWrap.wrap.insertData = 1
}

Damit kann ich zumindest nach Kopieren der tt_content-DB-Spalte 
section_frames nach layout die bestehenden Klassen für Content-elemente 
in Typo3 7.6 für Redakteure im Backend wieder zur Verfügung stellen.

Viele Grüße
Heiko

Fon: +49 761 7048880


Ben Robinson schrieb am 06.02.2018 um 12:20:
> Hallo Heiko,
>
> hier mein Vorlage-Snippet für die Verwendung der frame_class unter v8 – die kannst Du sicherlich auch auf Dein "layout" umbauen.
> Das ist sogar mit nem Counter, den Du natürlich rauswerfen kannst.
>
> ###
> # Rahmen/Wrap um Elemente, anhängig von frame_class
> ###
> tt_content.stdWrap.innerWrap.cObject = CASE
> tt_content.stdWrap.innerWrap.cObject{
> 	key.field = frame_class
> 	teaser = COA
> 	teaser{
> 		10 = LOAD_REGISTER
> 		10{
> 			teasercounter.cObject = TEXT
> 			teasercounter.cObject.data = register:teasercounter
> 			teasercounter.cObject.wrap = |+1
> 			teasercounter.prioriCalc = intval
> 			teasercounter.override = 1
> 			teasercounter.override.if.equals.data = register:teasercounter
> 			teasercounter.override.if.value = 6
> 		}
> 		20 = TEXT
> 		20.value = <div class="teaser nr{register:teasercounter}">{register:teasercounter}.:|</div>
> 		20.insertData = 1
> 	}
> 	teaser-blue < .teaser
> 	teaser-blue.20.value = <div class="teaser blue nr{register:teasercounter}">{register:teasercounter}.:|</div>
> 	
> 	default = COA
> 	default{
> 		# Register resetten, sobald ein anderes Inhaltselement kommt
> 		10 = LOAD_REGISTER
> 		10{
> 			teasercounter.cObject = TEXT
> 			teasercounter.cObject.value = 0
> 		}
> 		20 = TEXT
> 		20.value = |
> 	}
> }
>
> Gruß
> Ben
>
>
>
>> Am 06.02.2018 um 12:04 schrieb Heiko Hänsge <mailinglisten at wild-wild-web.de>:
>>
>> Hallo in die Runde!
>>
>> Jetzt hat's mich doch noch kalt erwischt...
>>
>> Nach einem Upgrade auf Typo3 7.6 musste ich feststellen, dass es in dieser Version keine Option 'Frames' für Content-Elemente 'Text/Media' unter dem Reiter 'Erscheinungsbild' gibt!
>> Dies wurde einfach 'fallen gelassen'... Ab der Version 8.x steht diese Option zwar wieder zur Verfügung, aber ein Upgrade auf Version 8.x steht momentan nicht zur Debatte.
>>
>> Alternativ könnte man noch die Option 'Layout' für Content-Elemente 'Text/Media' unter dem Reiter 'Erscheinungsbild' nutzen.
>>
>> Die Tutorials im Web zeigen allerdings nur die Nutzung mit einem individuellen Fluid-Template für das Content-Element.
>> So nach dem Motto:
>>
>> Auszug aus Textmedia.html
>>
>>> <div id="c{data.uid}" class="
>>>      {f:if(condition:'{data.layout}==114',then:'section_frame col-md-4',else:'')}
>>>      {f:if(condition:'{data.layout}==115',then:'section_frame col-md-8')}
>>> ">
>> Das Fluid-Template würde ich allerdings möglichst nicht überschreiben wollen.
>>
>> Weiß jemand von euch, wie man das Ganze auch per Typoscript lösen könnte?
>> Mit sdtWrap und key.field = layout müsste das doch gehen, oder? Aber wie?
>>
>> Folgendes TS setup funktioniert mal NICHT:
>>
>> tt_content.textmedia{
>> stdWrap.wrap.cObject=CASE
>> stdWrap.wrap.cObject{
>> key.field=layout
>> default=<divclass="textmedia">|</div>
>> 114=<divclass="section_framecol-md-4">|</div>
>> 115=<divclass="section_framecol-md-8">|</div>
>> }
>> }
>>
>> ABER das hier funktioniert:
>>
>> tt_content.textmedia{
>> stdWrap.wrap = <div class="textmedia">|</div>
>> }
>>
>> Hat jemand einen Tipp?
>> Danke im Voraus!
>>
>> Viele Grüße
>> Heiko
>>
>> Fon: +49 761 7048880
>>
>> _______________________________________________
>> TYPO3-UG-Freiburg mailing list
>> TYPO3-UG-Freiburg at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-freiburg
> _______________________________________________
> TYPO3-UG-Freiburg mailing list
> TYPO3-UG-Freiburg at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-freiburg



More information about the TYPO3-UG-Freiburg mailing list