Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Let Themes overwrite templates to allow full customisation within Themes #5122

mattab opened this Issue · 3 comments

2 participants


Piwik comes with a powerful theming framework that lets Theme designers fully customise the look and feel of Piwik.

There are actually several ways to customise a design with a theme:

  • you may overwrite CSS via the Theme CSS files
  • you may inject JavaScript to run custom code on the client side
  • you may hook in the template hooks such as: Template.beforeTopBar, Template.footer, Template.beforeContent

The goal of this ticket is to add a new mechanism to give Theme designers even more control and power over the way Piwik looks and feels:

  • As a theme designer I want to overwrite the twig templates in my theme, so I can customise the HTML and structure of any given functionality.

This change was proposed in the pull request: #263


Fixed in 8e45483


Well I've tested this feature a bit.

I edited ExampleTheme plugin shipped with git master branch. I've added a file called plugins/ExampleTheme/templates/dashboard.twig, I've pasted content from original file Morpheus/templates/dashboard.twig editing with custom HTML.

Then reloading page, twig engine reloaded template cache and shown my modification in the dashboard without any tmp/* deletion.

I'm in troubles overriding plugins templates. I've created plugins/ExampleTheme/plugins/VisitorGenerator/generate.twig file with same modifications, then reloading index.php (dashboard) the browser (my version is latest Firefox) goes timed out. Looks like a kind of loop not mentioned into Apache's error.log


@tassoman Thanks for report. do you mind creating a new ticket with the use case that bugs? Since this ticket is now closed (feel free to link to this ticket from new one)

@mattab mattab added this to the 2.3.0 - Piwik 2.3.0 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.