[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