Breaking: Program pages render inside the site layout
Description
The page template of the page type Academic program,
Resources/, declared no Fluid layout.
On a site package that renders its header, navigation and footer through a page
layout, as
bk2k/bootstrap-package
does, a program page therefore
rendered without any of them. The template rendered every part inline, so a
project that wanted to change one of them had to replace the whole template.
And its paths were registered at the key 100 of the page object, which on a
PAGEVIEW
site package replaced the package's own paths of that key
on program pages - its layouts and partials were gone there.
From 3.0 on:
- The template renders the section
Mainof the layout named by the new settingplugin.,tx_ academicprograms. page. layout Defaultby default. A site package without a layoutDefaultgets a fallback layout of this extension, which renders the section alone. - The section renders four partials:
Program/,Page/ Header. html Program/,Page/ Media. html Program/andPage/ Facts. html Program/. A fifth one,Page/ Content. html Program/, came with the application link, see Feature: Program pages link to an application.Page/ Call To Action. html - The header renders the subtitle of the program, and a link back to the
page named by the new setting
plugin..tx_ academicprograms. page. list Pid paths,templateandRoot Paths partialof the page object use the keyRoot Paths 50instead of100on program pages.layout, which named a directory that does not exist, is removed.Root Paths. 100
Both settings are site settings of the aggregate set
fgtclb/ and constants for the static templates, see
The layout of a program page.
Impact
- A program page on a site package with a layout
Defaultrenders inside it: with the header, navigation and footer of the site. - A site package whose layout
Defaultrenders no sectionMainrenders the program page without its content. - A site package without a layout
Defaultrenders the program page as before, without the frame of the site. A layout named by the setting that the site package does not have fails the page. - A program with a subtitle shows it below the title, in an element with the
class
ace-. The title is wrapped in an elementsubtitle <header class="ace-.header"> - A path a project registered at a key between
50and100now wins over the extension, where it lost before. A site package path at100is no longer replaced on program pages. - A project that set, read or cleared
page.,10. paths. 100 template,Root Paths. 100 partialorRoot Paths. 100 layoutinside the condition on the program page type reaches nothing of this extension there any more.Root Paths. 100
Affected Installations
Every installation that renders program pages on a site package with page
layouts, and every installation that styles the markup of the program page or
changes its paths at the key 100.
An override of the whole Academic keeps rendering as
before.
Migration
- A site package whose layout for program pages has another name sets
plugin.to it; one whose layout renders another section thantx_ academicprograms. page. layout MainoverridesPages/.Academic Program. html - A project that overrides
Academicto change one part moves that change to the matching partial belowProgram. html Program/and removes the template override.Page/ - Move a path set at the key
100inside the program page condition to50, or to a key above it to win over the extension. - Set
plugin.to show the link back to the program list.tx_ academicprograms. page. list Pid - Adjust stylesheets that relied on the title being a direct child of the flex container.