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

Heiko Hänsge mailinglisten at wild-wild-web.de
Thu Feb 8 15:08:57 CET 2018


Hallo,

bei einem weiteren Projekt nach dem Update auf Typo3 7.6 ein ähnliches 
Dilemma,
weil es in dieser Version keine Option 'Frames' für Content-Elemente 
unter dem Reiter 'Erscheinungsbild' gibt!

Allerdings ist in diesem Projekt Grid Elements im Einsatz...

Der Wrap in Typo3 6.2 sah so aus:

> # Ausgabe der Grid Elemente anpassen
> tt_content.gridelements_pi1.20.10.setup{
> # ID des gridelements
> #1 < temp.gridelements.defaultGridSetup
> 1<lib.gridelements.defaultGridSetup
> 1{
> columns{
> # colPos ID
> 10<.default
> 10.wrap=<divclass="col-md-4col-lg-3">|</div>
> # colPos ID
> 20<.default
> 20.wrap=<divclass="col-md-8col-lg-7">|<aclass="link-topglyphiconglyphicon-arrow-up"titel="Nachoben"href="#"></a></div><divclass="col-lg-2"></div>
> }
> # Optional kann das gesamte Element noch einen wrap bekommen
> wrap=<divclass="container"><divclass="row">|</div></div>
> }
> }

Jetzt müsste das gesamte Element in Abhängigkeit von der 
Content-element-Layout-Option gewrappt werden...

Mein Versuch:

> # Ausgabe der Grid Elemente anpassen
> tt_content.gridelements_pi1.20.10.setup{
> # ID des gridelements
> #1 < temp.gridelements.defaultGridSetup
> 1<lib.gridelements.defaultGridSetup
> 1{
> columns{
> # colPos ID
> 10<.default
> 10.wrap=<divclass="col-md-4col-lg-3">|</div>
> # colPos ID
> 20<.default
> 20.wrap=<divclass="col-md-8col-lg-7">|<aclass="link-topglyphiconglyphicon-arrow-up"titel="Nachoben"href="#"></a></div><divclass="col-lg-2"></div>
> }
> # Optional kann das gesamte Element noch einen wrap bekommen
> wrap=<divclass="container"><divclass="row">|</div></div>
>
>     stdWrap.outerWrap.cObject =  CASE
>     stdWrap.outerWrap.cObject {
>       key.field = layout
>       default = <div class="container"><div class="row">|</div></div>
>       160 = <div class=" "><div class="container"><div 
> class="row">|</div></div></div>
>       170 = <div class=" "><div class="container"><div 
> class="row">|</div></div></div>
>     }
>
> }
> }
> // new fluid rendering
> tt_content.gridelements_view<tt_content.gridelements_pi1

Dieser Part klappt allerdings nicht:

tt_content.gridelements_view.20.10.setup.stdWrap.outerWrap.cObject =  CASE

Habt ihr einen Tipp?
Vielen Dank im Voraus!

Viele Grüße
Heiko

Fon: +49 761 7048880


Heiko Hänsge schrieb am 07.02.2018 um 12:12:
> 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
>
> _______________________________________________
> 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