← Back to team overview

mahara-contributors team mailing list archive

[Bug 1231755] A change has been merged

 

Reviewed:  https://reviews.mahara.org/3440
Committed: http://gitorious.org/mahara/mahara/commit/da4efc6accef590307190852b7b531b8b8a8d5dc
Submitter: Aaron Wells (aaronw@xxxxxxxxxxxxxxx)
Branch:    master

commit da4efc6accef590307190852b7b531b8b8a8d5dc
Author: Aaron Wells <aaronw@xxxxxxxxxxxxxxx>
Date:   Fri Jun 13 14:11:56 2014 +1200

Incorrect Dwoo template paths

Bug 1231755. The refactor of the Dwoo_Template_Mahara class also closed
a bug in the include path, which made it so that, in the template files
of plugins, if you had an {include} tag which tried to include a core
Mahara template file, it would also have the plugin's own theme
directory on the search path.

It turns out the blocktype/activitystream and search/elasticsearch plugins
had code which depended on this bug. They referred to plugin template
files as if they were core template files, and relied on the bug to locate
them appropriately.

Change-Id: Iec6b0d41d41c540166c972ec9a3dfc80e646cb98

-- 
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