Breaking: #79622 - Section Frame for CSS Styled Content replaced with Frame Class

See forge#79622

Description

The functionality provided by Section Frame has been streamlined with Fluid Styled Content and is now available as Frame Class. Previously, integers have been stored in the Database that required a mapping of non speaking values.

The new introduced speaking values provide a more valuable use, for example in Fluid Styled Content the values are used directly without mapping.

For CSS Styled Content the original behaviour has been mapped to the new keys in the database and the option invisible has been dropped.

Compatibility Table

Name

Previous Key

New Key

CSS Class

Additional Effects

Default

0

default

csc-frame csc-frame-default

-

Invisible

1

(dropped)

-

-

Ruler Before

5

ruler-before

csc-frame csc-frame-ruler-before

-

Ruler After

6

ruler-after

csc-frame csc-frame-ruler-after

-

Indent

10

indent

csc-frame csc-frame-indent

-

Indent, 33/66%

11

indent-left

csc-frame csc-frame-indent-left

-

Indent, 66/33%

12

indent-right

csc-frame csc-frame-indent-right

-

No Frame

66

none

(none)

No Frame is rendered

TypoScript Before

tt_content.stdWrap.innerWrap.cObject.key.field = section_frame
tt_content.stdWrap.innerWrap.cObject.5 =< tt_content.stdWrap.innerWrap.cObject.default
tt_content.stdWrap.innerWrap.cObject.5.20.10.value = csc-frame csc-frame-ruler-before

TypoScript After

tt_content.stdWrap.innerWrap.cObject.key.field = frame_class
tt_content.stdWrap.innerWrap.cObject.ruler-before =< tt_content.stdWrap.innerWrap.cObject.default
tt_content.stdWrap.innerWrap.cObject.ruler-before.20.10.value = csc-frame csc-frame-ruler-before

Affected Installations

Installations that use the CSS Styled Content.

Migration

Default fames can be automatically upgraded to the new field and values. Custom values will be prefixed with custom-<key> and will also be transferred to the new field.

Note that custom values must be added again to the field configuration, and the mapping in the TypoScript rendering definition for CSS Styled Content needs also to adapt.

Add custom frame

TCEFORM.tt_content.frame_class {
   addItems {
      custom-1 = LLL:EXT:extension/Resources/Private/Language/locallang.xlf:customFrame
   }
}
$GLOBALS['TCA']['tt_content']['columns']['frame_class']['config']['items'][] = [
   0 = LLL:EXT:extension/Resources/Private/Language/locallang.xlf:customFrame
   1 = custom-1
];

Adapt rendering definition

tt_content.stdWrap.innerWrap.cObject.custom-1 =< tt_content.stdWrap.innerWrap.cObject.default
tt_content.stdWrap.innerWrap.cObject.custom-1.20.10.value = csc-frame csc-frame-custom-1