Yes, although you should rename it. For instance, if you wanted to call it Paul’s Theme, you’d change:
- Directory from
default-childtopauls-theme - File
DefaultChildThemePlugin.inc.phptoPaulsChildThemePlugin.inc.php - This class name from
DefaultChildThemePlugintoPaulsChildThemePlugin(it’s used in several files) - … and so on. You’ll need to walk through each line of the code, but it’s pretty small so it shouldn’t be too difficult to get a grip on.
Yes. Each theme can contain a templates directory which will mirror the templates directory in OJS 3 as well as the pkp-lib library.
For example, when OJS 3 loads a template with a path of /frontend/page/about.tpl it searches in the following locations:
- The currently active theme:
/plugins/themes/<the-currently-active-theme>/templates/frontend/pages/about.tpl - Any parent theme of the currently active theme:
/plugins/themes/<the-currently-active-theme's-parent-theme>/templates/frontend/pages/about.tpl - The OJS template directory:
/templates/frontend/pages/about.tpl - The
pkp-libtemplate directory:/lib/pkp-lib/templates/frontend/pages/about.tpl
It performs the search in that order, so that the currently active theme has the highest priority and the pkp-lib templates will only be loaded if no other matching template is found.
Once you’ve got your child theme in place, you’ll need to enable it from Settings > Website > Plugins. Then you’ll need to activate it on a journal under Settings > Website > Appearance.