mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #19316
[Bug 1231755] Re: Allow /local and custom theme override of Plugin templates
Another weird thing, is that under the current system, plugin theme
directories don't actually contain a "templates" directory like normal
theme directories. Instead the templates sit loose in the root level of
the plugin theme directory. In other words:
Expected location:
/blocktype/clippy/theme/raw/templates/path/to/template.tpl
Actual location:
/blocktype/clippy/theme/raw/path/to/template.tpl
Static assets on the other hand, are under a "static" directory. Maybe
part of my fix should be to regularize plugin theme directories. Or,
keep it so they support having the templates loose (so that non-updated
plugins will continue to work) but add a theme/templates directory to
the search path.
--
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