You Can Now Safely Create Custom Template Overrides in Wright
- Written by Valentín García Valentín García
- Category: Wright Template Framework Wright Template Framework
- Published: 17 November 2017 17 November 2017
Starting in Wright 3.6, you can safely add custom template overrides to the Wright base template and our commercial templates.
This will make possible to tweak the templates without touching the core Wright files, and protect your changes for future Wright updates.
How to create a custom template override in Wright
Depending what extension you want to override (as example, the design for articles component means you would override
/com_content/), please check in
/templates/js_wright/html/ if the folder for that extension actually exist. If exists, don't place your override inside
/html/ folder, do it instead inside
In this example the path would be
This is a slight different approach to native template overrides that live in html folder. The custom overrides in Wright works in same way, just the location is different.
Which template overrides are supported
All the common templates overrides are supported. The custom overrides should be done depending the case as explained in coming lines.
To avoid losing your customizations in every new Wright update, we highly recommend you to add your own overrides through
/templates/js_wright/overrides/joomla_3.0/ folder for the components and modules listed below:
You can also do overrides for these layouts:
If the component, module or layout file doesn't exist inside
/templates/js_wright/html/ folder, then you need to place two files:
- One inside
/templates/js_wright/overrides/joomla_3.0/- Here you place your custom design.
- Place a regular override in
/templates/js_wright/html/- Here you place the code below to point to your final override replacing
/path/to/custom/file.phpwith your own.
<?php defined('_JEXEC') or die; $app = JFactory::getApplication(); require_once(JPATH_THEMES.'/'.$app->getTemplate().'/overrides/joomla_3.0/path/to/custom/file.php'); ?>
As example, if you override the tags.php layout from /layouts/joomla/content/tags.php, you would place the code below in
<?php defined('_JEXEC') or die; $app = JFactory::getApplication(); require_once(JPATH_THEMES.'/'.$app->getTemplate().'/overrides/joomla_3.0/joomla/content/tags.php'); ?>