Feature: Program pages link to an application 

Description 

The Program tab of a program page offers two new fields: the Application link, a page or an external URL, and an optional Label of the application link of up to 60 characters.

The program page renders the link as a button after its header, its image and the link back to the list. Without a label, the link reads "Apply now" in the language of the page. Without a link, the page renders no button, and neither does a link to a page that cannot be linked, such as a hidden one.

The button is the new partial Program/Page/CallToAction.html. Templates reach the values as {program.applicationLink} and {program.applicationLinkLabel} , on the program page and in a list item of the Course List, whose default item does not render them. A list item of your own renders the same button with <f:render partial="Program/Page/CallToAction" arguments="{program: program}" /> .

See The application link of a program page.

Impact 

Run the database compare of the Maintenance module or vendor/bin/typo3 extension:setup . It adds the columns application_link and application_link_label to pages . The extension declares neither in ext_tables.sql: TYPO3 derives both from the TCA.

A program page renders no button until an editor sets a link, so existing pages look as before.

An installation that added a column application_link of its own can remove its TCA and its ext_tables.sql line for it. The data stays where it is, and the program page renders it from then on. A template of its own that renders the link can go, or the page renders a second button.

An installation that kept the link in a column of another name copies it once before removing that column, for example:

UPDATE pages
   SET application_link = tx_mysitepackage_apply_url
 WHERE doktype = 20
   AND application_link = ''
   AND tx_mysitepackage_apply_url IS NOT NULL
   AND tx_mysitepackage_apply_url <> '';
Copied!

An override of Pages/AcademicProgram.html renders no button, since it does not render the new partial.