Introduce template variables to pages and remove hard coded page templates like submissions.tpl

Describe the problem you would like to solve
Currently many of the system templates are page templates with hard coded functionality to show page content in a specific order.

For example submission.tpl is hardcoded to show the following:

  • Notification about making submission
  • Author Guidelines
  • Submission Checklist
  • Copyright notice
  • Privacy Statement

https://github.com/pkp/pkp-lib/blob/main/templates/frontend/pages/submissions.tpl

If you want to change that order, you need to create a theme with a modified template file or edit the core templates directly.

This is overly complicated and difficult to do for most users and also makes managing upgrades harder.

Describe the solution you’d like
Instead of using hard coded templates we should introduce a model where all content pages use a single template and the content of the page is managed using the navigation menu tool and a content editor.

Currently we can create custom html pages using the navigation menu tool.

Pages like submissions (submission.tpl) are also included but the only thing we can control is to show or hide the page in the menu.

My suggestion is that instead of having these hard coded pages, we have predefined but editable pages where you can edit the content of the page with same logic we have in the email templates.

In this case we would have template variables that show specific things like author instructions, editorial board, contact information etc. Things we have defined in the settings and display now using the hard coded pages.

The editor could then be used to select the order and the contents of a specific page with the additional possiblity to add custom text between the template variables.

We could also have an easy endpoint to create new template variables using a plugin.

Note that this is not necessarily the best approach to take to solve the problem. Happy to hear other suggestions with the same result.

Who is asking for this feature?
Administrators and people editing the themes and templates, also editors who wish to edit the journal contents more freely