mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #19315
[Bug 1231755] Re: Allow /local and custom theme override of Plugin templates
Hm, I've taken a crack at implementing this, and I've got a system
working for templates as described above. But, I realize I need to do
something similar for static assets, i.e. images and stylesheets.
Which brings up a question of directory structures. Within the custom
theme directory, should we have a directory for each plugin, each with
its own "templates" and "static" subdirectories? Or, within the theme's
main "templates" and "static" subdirectories should there be a separate
directory for each plugin?
Option 1: Multiple "templates" and "static" subdirectories:
theme/
+- raw/
+- templates/
+- index.tpl
+- static/
+- images/
+- mahara--logo.png
+- blocktype/
+- clippy/
+- templates/
+- clippy.tpl
+- images/
+- thumb.png
+- creativecommons/
+- templates/
+- summary.tpl
+- assets/
+- images/
+- cclogo.png
Option 2: Multiple plugin subdirectories
theme/
+- raw/
+- templates/
+- index.tpl
+- blocktype/
+- clippy/
+- clippy.tpl
+- creativecommons/
+- summary.tpl
+- static/
+- images/
+- mahara-logo.png
+- blocktype/
+- clippy/
+- images/
+- thumb.png
+- creativecommons
+- images/
+- cclogo.png
Basically the choice comes down to grouping files together by type
(static v templates) or grouping them together by plugin.
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1231755
Title:
Allow /local and custom theme override of Plugin templates
Status in Mahara ePortfolio:
Confirmed
Bug description:
One of the handiest features for site admins to tweak their Mahara
site without making hacks that make upgrades difficult, is the
relatively obscure local theme overrides feature:
https://wiki.mahara.org/index.php/Customising/Themes/1.2#Local_theme_overrides
Theme support is there, but you have to put the theme template
dirctories under the plugin's own theme directory. i.e.
artefact/internal/theme/primary/static/templates/content.tpl . So,
this is handy for plugin authors, but not for custom theme developers.
I propose the following:
1. We allow for /local overrides of plugin templates. The path should
be local/theme/templates/{plugintype}/{pluginname}/{template} . Or in
the case of plugins that live underneath other plugins (i.e.
blocktypes under artefacts)
local/theme/templates/{plugintype1}/{pluginname1}/{plugintype2}/{pluginname2}/{template}.
So:
local/theme/templates/artefact/internal/content.tpl
local/theme/templates/artefact/internal/blocktype/textbox/content.tpl
2. For custom themes, we take a similar approach:
theme/{themename}/static/templates/{plugintype}/{pluginname}/{template}
theme/aaronstheme/static/templates/artefact/internal/content.tpl
theme/aaronstheme/static/templates/artefact/internal/blocktype/textbox/content.tpl
And in order of precedence:
1. /local theme overrides
2. custom theme located under /theme directory
3. theme template files locate under plugin's directory
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1231755/+subscriptions
References