Breaking: Program templates carry speaking classes
Description
The frontend templates of this extension carried the classes of the theme they
were developed with - cards, list groups, form controls, spacing and display
utilities - next to block and element classes of the extension. They carry
speaking classes now, named after what an element is and shared by all academic
extensions: ace-, ace-, ace-, ace-, ace-,
ace- and so on. The outermost element of a plugin keeps the class of the
plugin. The classes of Bootstrap that a site builds on stay on purpose where
the templates render them: container on the outermost element of a page of
the page type, the grid classes row and col-*, the button classes btn and
btn-* and visually-. No other theme class is rendered any more, and
the extension ships no styles for the new classes.
The header partials take the class of the heading as the argument class,
in place of position. An override that renders one of them with
position renders the heading without that class.
The facts partial Program/ no longer takes the arguments
list and item. The list and its items carry the same classes on
the program page, in the details element and on the card.
| Element | Before | After |
|---|---|---|
| Item list | row academic- | ace- around the row |
| Item | card flex- with card- and card- | <article class="ace- with ace- |
| Attributes of an item | list- with list- entries | ace- with ace- entries, ace-, ace- and ace- inside |
| No result | a plain <span> | ace- |
| Filter form | academic- | ace-, the fields in an ace- |
| Filter cell | the grid column only | ace- inside the column |
| Label and select | form-, form- | ace-, ace- |
| More filters | <details class="col- | <details class="ace- inside a col-, with <summary class="ace- |
| Result count | academic- | ace- |
| Active filters | academic- with __, __, __ | <ul class="ace- with ace- entries, the remove mark ace- |
| Reset link | academic- | ace- |
| Page | academic- | academic- |
| Header and media | d- | ace- |
| Page header | academic- | <header class="ace- with ace- on the heading |
| Subtitle | academic- | ace- |
| Facts | academic-, academic- | ace-, ace- with
data-, the value ace- |
| Back link of the page | academic- inside the header | ace-, after the ace- of the page template |
| Application link | btn btn- inside <p class="academic- | btn btn-, without the paragraph |
| Details element | academic- | academic- |
| Program finder | academic- on the form, row align- around the selects | <div class="academic- around the form ace-, the selects in an ace- and named like the filter cells above |
| Status of the list and the finder | visually- | ace- |
Impact
- A site stylesheet that styles the program list, the filters, the finder, the facts or the program page through the classes of the column Before no longer matches.
- An override that renders
Program/withFacts. html listorClass itemrenders the facts without those classes.Class
Affected Installations
Every installation that renders the program list, the program finder, the program details element or a page of the program page type.
Migration
- Move the selectors of the site stylesheet from the classes in the
column Before to those in the column After. A site that styled the
plugins through the classes of its Bootstrap theme alone gives the new
classes the look it wants, for example with
@extendin SCSS or with rules of its own. - A template override is compared with the shipped template of 3.0 and adopts its markup. An override keeps working as it is, but renders its own classes, and nothing in the extension relies on them.
- Drop
listandClass itemfrom an override that rendersClass Program/, and replaceFacts. html positionwithClass classwhere an override rendersProgram/.Header. html - Flush the TYPO3 caches, so the Fluid template cache is rebuilt.