Breaking: The partial Program/Categories.html has been removed
Description
The partial Resources/Private/Partials/Program/Categories.html
rendered the categories of a program per category type, on the program page
and in the Course Data content element. The program page added
the program fields credit points, job profile, performance scope and
prerequisites as a second list of its own, and the program card of the
Course List rendered the degree with markup of its own.
The partial is removed. The program page, the details content element and the
program card render their facts through the new partials
Program/, the list, and Program/, one
fact, from the field lists of Feature: Integrators choose the facts of a program.
The markup of the facts changes in all three places:
- The facts are one
<ul class="ace-. On the program page the program fields are items of that list, after the categories, instead of a secondlist ace- attributes"> <ul>. - Every fact is an
<li class="ace-, the identifier being the category type (list- item ace- attribute" data- academic- programs- fact=" {identifier}"> degree) or the program field (credit). The label is aPoints <b class="ace-, the value alabel"> <span class="ace-.value"> - Every label is followed by a colon, the program field labels included.
- The credit points fact renders the icon
tx-before its label.academicprograms- info- credit- points - The list, its items, the label and the value carry the same classes in all three places.
Impact
A project override of Partials/ is no longer
rendered: nothing of this extension renders that partial any more, and Fluid
does not report an override that nobody renders.
A project override of a template or partial that still renders
<f:, for example an override of
Pages/ or Templates/ taken
from an earlier version, fails with an exception of Fluid that the partial
cannot be found, unless the project ships that partial itself.
Site CSS or JavaScript that addressed the facts through the old markup, a second list on the program page or a label without a colon has to follow the new markup.
The data processor of the program page,
\FGTCLB\, builds
the facts and takes its collaborators as constructor arguments: the facts
builder, the data factory and the event dispatcher (see
Feature: Change the program list, finder and page by event). A project subclass of it that declares a
constructor of its own has to pass them on, and a subclass named in TypoScript
by its class name is only given the arguments when the project's own
Services. registers it as a public service. Otherwise TYPO3 creates
it without arguments, which is fatal.
Affected Installations
Installations that override Partials/, render
it from a template or partial of their own, style the facts of the program
page, of the details content element or of the program card, or extend the
data processor of the program page.
Search the site package for the partial:
grep -rn "Program/Categories" packages/my_sitepackage/Resources/Private/
Migration
- Move a change of one fact row to an override of
Program/. It receivesFacts/ Item. html {fact}with{fact.,identifier} {fact.,label Key} {fact.,icon Identifier} {fact.,is Category Type} {fact.for a category type andcategories} {fact.for a program field.value} - Move a change of the whole list to an override of
Program/, which receivesFacts. html {facts}. - Set
plugin.where the override changed which facts are shown or their order, andtx_ academicprograms. facts. fields plugin.for the card.tx_ academicprograms. card. fields - Replace
<f:in a template override byrender partial="Program/ Categories" arguments=" {_ all}" /> <f:: the program page and the details content element hand their templates the variablerender partial="Program/ Facts" arguments=" {_ all}" /> {facts}. An override ofPages/from before 3.0 also renders the fixed list of the four program fields; remove that list as well, or the program page shows them twice, since the empty facts setting shows them after the categories.Academic Program. html - Remove the override of
Partials/.Program/ Categories. html - Pass a
\FGTCLB\on to the parent constructor of a subclass of the data processor, and register the subclass as a public service (Academic Programs\ Service\ Program Facts Builder public: true), or tag itdata.with an identifier of its own and name that identifier in TypoScript.processor